Converting SOAP/JMS WebSphere Enterprise Service Bus service invocation styles manually

You can call a service provider synchronously or asynchronously. Learn how to implement and configure SOAP/JMS WebSphere® Enterprise Service Bus invocation styles in IBM® Integration Bus.

About this task

In IBM Integration Bus, you define the invocation style of a call to a service provider by using a Request message flow node within a message flow. Request-response operations can be called synchronously or asynchronously. IBM Integration Bus provides a synchronous and an asynchronous implementation for Request and Response message flow nodes.

In WebSphere Enterprise Service Bus, you define the invocation style of a service on the import or on a primitive.
  • On an import: You configure the Preferred Interaction Style property to synchronous or asynchronous.
  • On a primitive: You configure the property Invocation Style in the primitive that you use to call the service within your mediation flow component.
You have different invocation styles in WebSphere Enterprise Service Bus:
  • Synchronous invocation
  • Asynchronous using one-way operation
  • Asynchronous with deferred response
  • Asynchronous with call-back

Procedure

Complete the following steps to implement in IBM Integration Bus the equivalent SOAP/JMS WebSphere Enterprise Service Bus service invocation style:

  • Identify whether you need synchronous or asynchronous SOAP message flow nodes, and what properties you must set for each message flow node.
    WebSphere Enterprise Service Bus invocation style IBM Integration Bus implementation steps
    Synchronous call SOAP/JMS is an asynchronous transport. This invocation style is not applicable.
    Asynchronous call by using one-way operation
    1. Use a SOAPRequest message flow node. For more information, see SOAPRequest node.
    2. Set the SOAPRequest Request Timeout property to No.
    Asynchronous call with deferred response This invocation style is not supported.
    To implement an asynchronous call with call-back
    1. Use a SOAPAsyncRequest message flow node to call a service. For more information, see SOAPAsyncRequest node.
    2. Use a SOAPAsyncResponse node to catch the response. For more information, see SOAPAsyncResponse node.
  • For request-response message flows: Choose whether a Response message flow node is defined within the same message flow as the Request message flow node or is defined in a separate message flow:
    • When you implement a synchronous call, the SOAPRequest message flow node receives the response.
    • When you implement a service invoke primitive, define the SOAPAsyncResponse message flow node within the same message flow as the SOAPAsyncRequest message flow node.
    • When you implement a callout primitive, define the SOAPAsyncResponse message flow node in any of the following ways:
      • Within the same message flow as the SOAPAsyncRequest.
      • At the beginning of a different message flow.
        Note: When you put the SOAPAsyncResponse message flow node at the beginning of a different message flow, you must ensure that both message flows are deployed onto the same integration server.