Hello, 
 
Here is a Java API and generated  WSDL  snippet. Does the order of the
elements in WSDL is mandatory when constructing the SOAP envelope? 
In my test setup, I have encountered that the order of the elements
seems to be mandatory? If Yes, Can we make the order optional and read
the values from element name instead of element index?
 
Java Class Snippet:
 
public stats[]  retrieveCPUUtilization(String name, String timeframe )
{
return stats[];
}
 
WSDL snippet  : 
<xs:element name="retrieveCPUUtilization">
 <xs:complexType>
 <xs:sequence>
<xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="timeframe" nillable="true"
type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
 
 
Scenario 1: 
For the a SOAP request ( generated from WSDL2Java Utillity )of the
format below with the order of the paramters matching the Java API
above, the values are parsed correctly on the server side ( the java api
sets name= xy-server  and timeframe=hour )
<soapenv:Body>
<retrieveCPUUtilization>
<xs:name>xy-server</xs:name>
<xs:timeframe>hour</xs:timeframe>
</retrieveCPUUtilization>
</soapenv:Body>
 
 
Scenario 2 : 
For the a SOAP request ( generated using SOAPpy )of the format below
with the order of the paramters are NOT matching the Java API above, the
values are parsed INCORRECTLY on the server side( the Java API sets
name=hour, timeframe =xy-server )
<soapenv:Body>
<retrieveCPUUtilization>
<xs:timeframe>hour</xs:timeframe>
<xs:name>xy-server</xs:name>
</retrieveCPUUtilization>
</soapenv:Body>
 
 
Please let me know nif I am missing anything here.
 
Thanks
Ram
 
 

Reply via email to