Question

When we try to call a web service using a java client (Axis) we are sending the method parameters fields in different order.

That is to say, if the WSDL order of the parameters is like;

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

and if we send them like

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

parameters are not filled in the ASPNET side. "x" and "y" stays as zeros ("0").

Any ideas if this is the standard?

Was it helpful?

Solution

Well, a SOAP request is just XML so my thoughts are that it's the SOAP implementation that would determine how parameters should match up.

But that varies from vendor to vendor. Some vendors may grab SOAP parameter values by element name (the proper way) and others may grab the values by node position (what you're probably running into).

Stick to the format specified by the WSDL and nobody gets hurt.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top