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

Sel*_*gam 3 java xml axis soap escaping

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

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

我试着用CDATA封装它

<![CDATA[Some Name & Some Data ]]> 转换为

&lt;![CDATA[Some Name &amp; Some Data]]&gt; 
Run Code Online (Sandbox Code Playgroud)

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

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

Mad*_*sen 7

Web服务客户端存根正在为您执行XML编码.Web服务预计XML,它是编码&'成实体引用,这样你会被发送有效的XML.

对于XML解析器,它将"看到" &amp;as &并且您没有问题.

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

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