I am currently trying to design a SOAP::Lite client for testing purposes, so that will be the next step. I just don't know what client the users of this service will be using.
If you are saying that it is not possible to have more than one child, then maybe the issue should be addressed on the client side?
Here is the WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<definitions
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="ns://TestSoapServer/SoapServer"
xmlns:ns="http://www.w3.org/2001/XMLSchema"
xmlns:ns1="http://schemas.xmlsoap.org/soap/encoding/"
targetNamespace="ns://TestSoapServer/SoapServer">
<types>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
targetNamespace="ns://TestSoapServer/SoapServer">
<simpleType name="Credential">
<restriction base="string">
<maxLength value="20"/>
</restriction>
</simpleType>
<complexType name="CreateRecordType">
<annotation>
<documentation> CreateRecordType </documentation>
</annotation>
<sequence>
<element name="param_1" type="tns:Credential"/>
<element name="param_2" type="tns:Credential"/>
</sequence>
</complexType>
<complexType name="UpdateRecordType">
<annotation>
<documentation> UpdateRecordType </documentation>
</annotation>
<sequence>
<element name="param_1" type="tns:Credential"/>
<element name="param_2" type="tns:Credential"/>
</sequence>
</complexType>
<complexType name="DeleteRecordType">
<annotation>
<documentation> DeleteRecordType </documentation>
</annotation>
<sequence>
<element name="param_1" type="tns:Credential"/>
<element name="param_2" type="tns:Credential"/>
</sequence>
</complexType>
<simpleType name="ResponseCodeType">
<restriction base="nonNegativeInteger"/>
</simpleType>
<complexType name="ResponseType">
<sequence>
<element name="responseCode" type="tns:ResponseCod
+eType"/>
<element name="responseCodeDescription" type="stri
+ng"/>
</sequence>
</complexType>
<element name="createRecord" type="tns:CreateRecordType"/>
<element name="updateRecord" type="tns:UpdateRecordType"/>
<element name="deleteRecord" type="tns:DeleteRecordType"/>
<element name="Response" type="tns:ResponseType"/>
</schema>
</types>
<message name="CreateMessage">
<part name="parameter" element="tns:createRecord"/>
</message>
<message name="UpdateMessage">
<part name="parameter" element="tns:updateRecord"/>
</message>
<message name="DeleteMessage">
<part name="parameter" element="tns:deleteRecord"/>
</message>
<message name="ResponseMessage">
<part name="parameter" element="tns:Response"/>
</message>
<portType name="PortType">
<operation name="createRecord">
<input message="tns:CreateMessage"/>
<output message="tns:ResponseMessage"/>
</operation>
<operation name="updateRecord">
<input message="tns:UpdateMessage"/>
<output message="tns:ResponseMessage"/>
</operation>
<operation name="deleteRecord">
<input message="tns:DeleteMessage"/>
<output message="tns:ResponseMessage"/>
</operation>
</portType>
<binding name="SoapBinding" type="tns:PortType">
<soap:binding style="document" transport="http://schemas.xmlso
+ap.org/soap/http"/>
<operation name="createRecord">
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="updateRecord">
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="deleteRecord">
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="SoapService">
<port name="SoapPort" binding="tns:SoapBinding">
<soap:address location="http://test.soap.server:55555"/>
</port>
</service>
</definitions>
Thanks! |