I've tracked this down to a piece of XML that I think is in the right place, but clearly it doesn't appear to be. Can somebody help explain what I'm doing wrong:
XSD portion:
<xs:element name="sobsQuery" type="sobs:sobsSoapType"/>
<xs:complexType name="sobsSoapType">
<xs:sequence>
<xs:element name="authentication" type="sobs:authenticationType" minOccurs="0" maxOccurs="1"/>
<xs:element name="response" type="sobs:responseType" minOccurs="0" maxOccurs="unbounded"></xs:element>
<xs:element name="getResourcesList" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
<!-- Add more function calls here -->
</xs:sequence>
<xs:attribute name="version" type="xs:float" use="optional"/>
</xs:complexType>
XML source:
<sobs:sobsQuery version="2.3">
<sobs:authentication>
<sobs:schoolid>167</sobs:schoolid>
<sobs:username>murray</sobs:username>
<sobs:password>secret</sobs:password>
</sobs:authentication>
<sobs:getResourcesList>asd</sobs:getResourcesList>
</sobs:sobsQuery>
Generates the error "Error cannot find parameter"
However, if I take out the line 'getResourcesList', that is:
<sobs:sobsQuery version="2.3">
<sobs:authentication>
<sobs:schoolid>167</sobs:schoolid>
<sobs:username>murray</sobs:username>
<sobs:password>secret</sobs:password>
</sobs:authentication>
</sobs:sobsQuery>
Then it works fine.
If I add the 'getResourcesList' line inside the 'authentication' group like so:
<sobs:sobsQuery version="2.3">
<sobs:authentication>
<sobs:schoolid>167</sobs:schoolid>
<sobs:username>murray</sobs:username>
<sobs:password>secret</sobs:password>
<sobs:getResourcesList>asd</sobs:getResourcesList>
</sobs:authentication>
</sobs:sobsQuery>
That also works (apart from the fact I'm not expecting to find that line in that location).
So, what am I doing wrong?