[当我们尝试使用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”)。
如果这是标准,有什么想法吗?
嗯,SOAP请求只是XML,所以我的想法是,SOAP实现将确定参数的匹配方式。
但是各个供应商的情况有所不同。一些供应商可以按元素名称(适当的方式)获取SOAP参数值,而其他供应商则可以按节点位置(您可能会遇到的问题)获取值。
坚持使用WSDL指定的格式,没有人受伤。