Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re^3: SOAP::Lite server handling multiple requests in the same envelope

by Anonymous Monk
on Jun 04, 2012 at 13:21 UTC ( #974290=note: print w/replies, xml ) Need Help??

in reply to Re^2: SOAP::Lite server handling multiple requests in the same envelope
in thread SOAP::Lite server handling multiple requests in the same envelope

I do not know what client will be used to access it, so the server should not be tailored to a specific client. I am currently using soapUI to send sample requests like the one I posted above.

For some reason you've chosen SOAP::Lite, I think the first thing you should figure out is how to send your desired request using a SOAP::Lite client -- I don't think you'll be able to figure it out on your own :)

Its not like I've seen tons of SOAP, but from what dozen I've seen, they all pretty much stick to a single child for Body -- deviating from this will create work for everyone who wants to connect to your server -- if you've got WSDL I'd like to see it

  • Comment on Re^3: SOAP::Lite server handling multiple requests in the same envelope

Replies are listed 'Best First'.
Re^4: SOAP::Lite server handling multiple requests in the same envelope
by atpetkov (Initiate) on Jun 04, 2012 at 14:46 UTC

    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="" xmlns:soap="" xmlns:tns="ns://TestSoapServer/SoapServer" xmlns:ns="" xmlns:ns1="" targetNamespace="ns://TestSoapServer/SoapServer"> <types> <schema xmlns="" 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"/> <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>

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://974290]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (11)
As of 2017-10-18 13:50 GMT
Find Nodes?
    Voting Booth?
    My fridge is mostly full of:

    Results (244 votes). Check out past polls.