1

我正在使用 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/">
        &lt;SERVICERequest&gt;
          &lt;SERVICE_REQ&gt;
            &lt;PARAM_1&gt;
              Value1
            &lt;/PARAM_1&gt;
            &lt;PARAM_2&gt;
              Value2
            &lt;/PARAM_2&gt;
            &lt;PARAM_3&gt;
              Value3
            &lt;/PARAM_3&gt;
          &lt;/SERVICE_REQ&gt;
        &lt;/SERVICERequest&gt;
      </SERVICE>
    </soap:Body>
</soap:Envelope>

这是来自服务的响应格式,也是传入请求的预期格式。

这在 SOAP 接口中很常见吗?实际上,它会导致我正在使用的 SOAP 库无法访问内部参数。(soap4r) 感谢 SOAP 资深人士的任何反馈。

4

1 回答 1

3

不,这并不常见。

这完全忽略了使用实际模式(它定义了要返回的数据类型)并将其替换为一个巨大的字符串,一旦你得到响应就必须解析它。

...糟糕的。

于 2009-10-31T00:08:19.950 回答