java – 在Soap Request中发送无效的XML字符

我想在Soap Request中发送特殊的(&,'(单引号))字符.我使用轴1.4. Web服务客户端位于weblogic服务器中,Web服务服务器是ibm主机(COBOL程序).

来自客户端的请求数据包含特殊字符(&符号),其被转换为& amp; amp; amp; amp; amp; amp; amp;

我试着用CDATA封装它

<![CDATA [Some Name&一些数据]]>
转换为

&lt;![CDATA[Some Name &amp; Some Data]]&gt; 

web服务客户端是从wsdl生成的,所以我无法使用CDATA api来构造请求.我能够将其设置为字符串值,并且它正在转换.

任何有关这方面的帮助将不胜感激.如果您需要更多信息,请与我们联系.

解决方法:

Web服务客户端存根正在为您执行XML编码. Web服务需要XML,它正在编码&和’进入实体引用,以便您将发送有效的XML.

对于XML解析器,它将“看到”& amp; amp;作为&而且你没有问题.

如果服务器无法处理实体引用,则COBOL“Web服务”不会执行它应该执行的操作.这使得您(以及基于标准的工具)很难从WSDL生成客户端存根,这本质上是描述数据格式和交换规则的合同.

如果WSDL和SOAP服务不遵守规定的接口规则,那么提供它的重点是什么?

上一篇:linux – Bash引号禁用转义


下一篇:在android上的sqlite中单引号