首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

如何禁止cxf对发送的soap字符串信息进行转码?

2012-06-17 
怎么禁止cxf对发送的soap字符串信息进行转码???我用cxf调用xfire写的服务端,其中有一个方法uploadDatas(St

怎么禁止cxf对发送的soap字符串信息进行转码???
我用cxf调用xfire写的服务端,其中有一个方法uploadDatas(String uploadData),这个方法中的参数是要传到服务端的xml字符串信息,用cxf客户端调用xfire服务端代码如下

Java code
public static void main(String[] args) throws Exception{        String dataString =         "    <root>"+          "        <rptDate>2012-03-12</rptDate>"+        "        <report>aaaa</report>"+         "        <datas>"+        "            <data>"+        "            <category>bbb</category>"+        "            <data>1.3</data>"+            "            </data>"+        "        </datas>"+        "    </root>";        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();        Map<String, String> outTransformMap = Collections.singletonMap("&lt;", "<");        StaxTransformFeature staxTransformFeature = new StaxTransformFeature();        staxTransformFeature.setOutTransformElements(outTransformMap);        List<AbstractFeature> staxTransformFeatureList = new ArrayList<AbstractFeature>();        staxTransformFeatureList.add(staxTransformFeature);        factory.setFeatures(staxTransformFeatureList);                factory.setAddress("http://aaaa/Data");        factory.setServiceClass(Data.class);        Data service = (Data) factory.create();        String response = service.uploadDatas("xml", dataString);    }


但是我看客户端发出的信息的时候把dataString编码成了

&lt;root&gt;&lt;rptDate&gt;2012-03-12&lt;/rptDate&gt;&lt;report&gt;aaaa&lt;/report&gt;&lt;datas&gt;&lt;data&gt;&lt;category&gt;bbb&lt;/category&gt;&lt;data&gt;1.3&lt;/data&gt;&lt;/data&gt;&lt;/datas&gt;&lt;/root&gt;

这样的形式,怎么才能不让cxf对字符串进行转码,我在cxf官网上查了可以用feature的方法把输出soap信息过滤下,官网上用到了以下代码,
XML code
<bean id="transformFeature" class="org.apache.cxf.feature.StaxTransformFeature">  <property name="inAppendElements">    <map>      <!-- replace the text content of {ns}a element with the 'new Text' value -->      <entry key="{ns}a" value="{ns}a=new Text"/>    </map  </property></bean>

对应的java代码是如下:
Java code
        Map<String, String> outTransformMap = Collections.singletonMap("&lt;", "<");        StaxTransformFeature staxTransformFeature = new StaxTransformFeature();        staxTransformFeature.setOutTransformElements(outTransformMap);        List<AbstractFeature> staxTransformFeatureList = new ArrayList<AbstractFeature>();        staxTransformFeatureList.add(staxTransformFeature);        factory.setFeatures(staxTransformFeatureList);

但是我怎麽用都不行

高手给点建议

[解决办法]
哥们,你结果咋样了呐。 给后人点启示呀

热点排行