这是SOAP请求的标准或通用编码吗?

时间:2009-10-31 00:04:55

标签: soap soap-client

我正在使用一个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退伍军人的任何反馈。

1 个答案:

答案 0 :(得分:3)

没有。这并不常见。

完全无视使用实际模式(定义数据类型为returend)并将其替换为一个巨大的字符串,一旦得到响应,您将不得不解析它。

...可怕。