Web Service Example 2: SOAP request and response messages |
This topic provides background information about the SOAP messages that are sent in Web Service Example 2: RPC-Oriented Method with Simple Type Parameters Based on a Domain. In example 2, the following client SQL statement is executed: INVOKE TRAVELCOMPONENT.GETSCHEDTOURSBETWEEN WITH SELECT sysdate, to_date('01-01-2012','dd-mm-yyyy')
The Web Service component handles this statement, and composes a SOAP request message. The information how to compose this RPC-oriented message is defined in the TRAVELSERVICE.wsdl file. Here is the SOAP request message: <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body> <ns1:GetSchedtoursBetween soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://MyWebServer/TravelService/TRAVELSERVICE.wsdl"> <ns1:start_date xsi:type="xsd:date">2010-10-14</ns1:start_date> <ns1:end_date xsi:type="xsd:date">2012-01-01</ns1:end_date> </ns1:GetSchedtoursBetween></soapenv:Body> </soapenv:Envelope>
The body of this SOAP request message includes a GetSchedtoursBetween method and start_date and end_date input parameters. Note the IO format of these parameter values, e.g. 2010-10-14 Next, the following statement is sent to the Rules Service: INVOKE TRAVELSERVICE.GetSchedtoursBetween WITH SELECT '... soap message above ...' request
Then, the Web Service provider composes a SOAP response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://MyWebServer/TravelService/TRAVELSERVICE.wsdl"> <soap:Body> <GetSchedtoursBetweenResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <NumberOfScheduledTours xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:int">19 </NumberOfScheduledTours> </GetSchedtoursBetweenResponse> </soap:Body> </soap:Envelope>
The body of this SOAP response message includes a GetSchedtoursBetweenResponse method and the NumberOfScheduledTours output parameter. |