Last Updated: 19-Nov-2008
Issue
How the Doc/Lit and RPC/Enc webservices work in 6.x and 7.x
Resolution
This article talks about the confusion between the 6.5 style of using web services in IS and what is supported in 7.1.x.
Basically in 6.5 to use DOC/Lit web services (We actually called them SOAPMSG style), the user had to create an IS Service that had a soapRequestData and a soapResponseData object in it’s input signature.
Our old 6.5 SOAP Processor did not perform any data marshalling/unmarhsalling and simply passed the whole request into the underlying service. It was the responsibility of the service to unmarshall the data and work with the request. Along the same lines, it expected the underlying service to have created a fully populated soapResponseData before returning.
In 6.5 RPC/Enc web services (We called them SOAPRPC style), the IS soap Processor did perform the data marshalling and unmarshalling and invoked an IS service with a normal IS signature containing an IData representing the parameters of the operation. Likewise it expected a normal pipeline containing an IData on return and marshalled the data back into a soap response. There was no underlying support for attachments in the 6.5 style of web services.
The Web service support for IS 7.1 was reworked, resulting in many differences from the 6.5 system. One of the main changes was that regardless of whether the Web Service is to use Doc/Lit or Rpc/Enc styles, the IS 7.1 SOAP Processor does handle the Data marshalling and unmarshalling. In the 7.1.X style of web services, webMethods no longer make use of the soapRequestData way of just passing in the whole soap Message for the user to process. The SOAP Processor does the data marshalling and unmarshalling and a normal IS service can be used as the underlying service to an operation that is DOC/Lit, RPC/Enc or even RPC/Lit.
Additionally in 7.1, we added support for Doc/Lit SOAP 1.2 and also the MTOM Attachment support for Doc/Lit SOAP 1.2 web services. I’m a little confused by your statement that the wmSOAPSamples example of MTOM processing is good for RPC, because the MTOM examples in wmSOAPSamples do not work with RPC at all. In IS 7.1.x, MTOM attachments are only supported for SOAP 1.2 Doc/Lit requests and the examples are based on SOAP 1.2 Doc/lit usage .