我正在尝试在肥皂请求中发送特殊(&
,'
(单引号))字符。我使用轴1.4。 Web服务客户端位于weblogic服务器中,Web服务服务器是ibm主机(COBOL程序)。
来自客户端的请求数据包含特殊字符(&
符号),该字符转换为&
我试图用CDATA将其括起来作为
<![CDATA[Some Name & Some Data ]]>
转换为
<![CDATA[Some Name & Some Data]]>
web服务客户端是从wsdl生成的,所以我无法使用CDATA api来构造请求。我能够将它设置为字符串值,并且它正在转换。
对此的任何帮助将不胜感激。如果您需要更多信息,请与我们联系。
答案 0 :(得分:7)
Web服务客户端存根正在为您执行XML编码。 Web服务需要XML,它将&
和'
编码为实体引用,以便您发送有效的XML。
对于XML解析器,它会“看到”&
为&
并且您没有问题。
如果服务器无法处理实体引用,则COBOL“Web服务”不会执行它应该执行的操作。这使得您(以及基于标准的工具)很难从WSDL生成客户端存根,这本质上是描述数据格式和交换规则的合同。
如果WSDL和SOAP服务不符合规定的接口规则,那么提供它的重点是什么?