我正在使用一个Web服务,其中WSDL在每个请求和响应中描述了一个字符串元素。
<s:element name="SERVICE">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="SERVICERequest" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
嵌入在该字符串中的是许多具有转义标记的纯XML元素。
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<SERVICE xmlns="https://services.transcard.com/">
<SERVICERequest>
<SERVICE_REQ>
<PARAM_1>
Value1
</PARAM_1>
<PARAM_2>
Value2
</PARAM_2>
<PARAM_3>
Value3
</PARAM_3>
</SERVICE_REQ>
</SERVICERequest>
</SERVICE>
</soap:Body>
</soap:Envelope>
这是来自服务的响应格式,是传入请求的预期格式。
这在SOAP接口中是否常见?实际上,它会导致我正在使用的SOAP库无法访问内部参数。 (soap4r)感谢SOAP退伍军人的任何反馈。
答案 0 :(得分:3)
没有。这并不常见。
完全无视使用实际模式(定义数据类型为returend)并将其替换为一个巨大的字符串,一旦得到响应,您将不得不解析它。
...可怕。