2012-03-28 42 views
0

我面临使用Axis2生成的客户端存根问题。在SOAP中使用Axis2编码xml数据生成的客户端存根:正文

它正在编码我在请求中发送的xml数据。的

param1valueparam2value

,而不是将其转换像

<Query><Param1>param1value</Param1><Param2>param2value</Param2></Query> 

其其转换只能在下面的语句

<Query><Param1>param1value</Param1><Param2>param2value</Param2></Query> 

赞赏任何帮助。

回答

2

如果您尝试在肥皂体中发送XML,请将其放入CDATA中。

修改存根代码,改变你的存根如何创建元素的方法

SOAPFactory factory = OMAbstractFactory.getSOAP11Factory(); 
SOAPEnvelope envelope = factory.getDefaultEnvelope();  
OMElement xmlElement= factory.createOMElement("cdatatoservice", envelope.getDefaultNamespace()); 
envelope.getBody().addChild(xmlElement); 

OMTextImpl omText = (OMTextImpl) xmlElement.getOMFactory().createOMText(xmlElement, xmlForCdata, XMLStreamConstants.CDATA); 
xmlElement.addChild(omText); 

System.out.println(envelope.toStringWithConsume()); 
相关问题