When you generate files for a Web service requester for the IMS runtime using the meet-in-middle scenario and compiled conversion, you can select either the synchronous or the asynchronous type of callout message.
Asynchronous callout means that the IMS application invokes the Web service requester by issuing an IMS Insert (ISRT) call, which places the outgoing request message into the IMS message queue. Likewise when the Web service requester receives the response to the request, it places the incoming response message into the IMS message queue for the IMS application to retrieve.
Synchronous callout means that the IMS application invokes the Web service requester by issuing an IMS Callout (ICAL) call, which synchronously invokes the Web service requester with the outgoing request message. When the Web service requester receives the response to the request, the incoming response message is returned to the IMS application through the return from the ICAL call.
For the IMS application it is usually much more convenient to issue a synchronous call.
To select asynchronous or synchronous processing:
In the graphical user interface, select the appropriate value in the Callout message type list box on the IMS Enterprise Suite SOAP Gateway Service Requester page of the meet-in-middle wizard.
In the batch processor, select the appropriate value in the GEN_IMS_MESSAGE_TYPE attribute in the CodegenProperty element (see CodegenProperty).
Compiled XML Conversion artifacts generated by prior versions of IBM®Rational® Developer for System z® are compatible with the ICAL call only if the mapped 01 level language structures begin with LL and ZZ fields.
Because the ICAL call bypasses IMS message queues, the call requires that the request and response data for the remote web service are entirely contained in at most two 01 level language structures, one for the request and one for the response. In addition, language structures do not need to begin with LL and ZZ since these fields are used only with asynchronous messaging; if these fields are defined in an 01 level language structure used with ICAL, the fields are treated as data.