1

当我们尝试使用 Java 客户端(Axis)调用 Web 服务时,我们会以不同的顺序发送方法参数字段。

也就是说,如果参数的WSDL顺序是这样的;

<soap:Body>
    <somemethod>
      <messagetype>
        **<x>int</x>**
        <y>int</y>
      </messagetype>
    </somemethod>
</soap:Body>

如果我们像这样发送它们

<soap:Body>
    <somemethod>
      <messagetype>
        **<y>int</y>**
        <x>int</x>
      </messagetype>
    </somemethod>
</soap:Body>

参数不填写在 ASPNET 端。“x”和“y”保持为零(“0”)。

如果这是标准,有什么想法吗?

4

1 回答 1

1

好吧,SOAP 请求只是 XML,所以我的想法是 SOAP 实现将决定参数应该如何匹配。

但这因供应商而异。一些供应商可能会通过元素名称(正确的方式)获取 SOAP 参数值,而其他供应商可能会通过节点位置(您可能遇到的)获取值。

坚持 WSDL 指定的格式,没有人会受到伤害。

于 2020-01-14T04:47:00.683 回答