在WebService方法返回XML数据的时候,将XML处理成字符串返回,在flex等客户端得到的XML字符串会出现被转义的情况:
比如原本是
<responsebody>
<item>18.5</item>
</responsebody>
esb方收到的结果却是类似如下情况:
<responsebody>
>item<18.5>/item<
</responsebody>
特殊符号被转义,我们需要的却是字符串本身,不需要转义
那怎么处理的呢?网上查了些资料,没有说这个怎么解决的,而且采用replace替换也不科学。
后面通过测试,我明白了,responsebody中定义的字符串变量,由类似getItem(),setItem(String item)方法控制的变量
在接口方法中赋值后,可以直接传递给esb(或者前端调用),本来就是以xml返回的标签,根本不需要去主动写xml标签了。
设置完ResponseBody对象(可自定义)后,response.setResponseBody(ResponseBody responsebody)
最后返回Response对象给客户端,客户端自然可以收到<item>18.5</item>,中间不需要有自己配xml的动作。