WebSphereMQ Suite Backout Service
The WebSphereMQ Suite Backout service is used with the other WebSphereMQ Suite services to send and receive messages from a WebSphereMQ server.
The following table provides an overview of the WebSphereMQ Suite Backout service:
Category | Description |
---|---|
System Name | WSMQBackout |
Graphical Process Modeler (GPM) categories) | All Services, Messaging |
Description | Used as part of the WebSphereMQ Suite to backout SyncPoint operations for a given WebSphereMQ Queue Manager. |
Business usage | Used in conjunction with the other WebSphereMQ Suite services to send and/or receive messages from a WebSphereMQ server. |
Usage example | Should only be called if SyncPoint operations need to be backed out. |
Preconfigured? | Yes – a default instance is created during install, which can be used by all business processes. Default instance name isWSMQ_Backout. |
Requires third-party files? | com.ibm.mq.jar version 5.2.0 or higher and associated message catalog property files (i.e. mqji_en_US.property). These files need to be installed using install3rdParty. |
Platform availability | All supported Sterling B2B Integrator platforms |
Related services | Related services:
|
Application requirements | You must have a WebSphereMQ server. |
Initiates business processes? | No. This service does not invoke business processes or process any business process documents. |
Invocation | Invoke the default instance in a business process and specify the appropriate parameters |
Business process context considerations | Should only be called if SyncPoint operations need to be backed out. |
Returned status values | Returned status values:
|
Restrictions | None |
Persistence level | Default |
Testing considerations | While testing this service, you should turn on debugging (wsmq_debug=Yes), which provides useful information if problems occur. |
Implementing the WebSphereMQ Suite Backout Service
There are no steps required for implementing this service. The default configuration, WSMQ_Backout, is ready for use as soon as Sterling B2B Integrator is installed.
Configuring the WebSphereMQ Suite Backout Service
This service has no configurable parameters.
Parameters Passed From Business Process to Service
The following table contains the parameters passed from the business process to the WebSphereMQ Suite Backout service:
Parameter | Description |
---|---|
wsmq_sessionid | The session identifier to use from a previously established session. Valid value is the value from a previously opened session. Required. |
Parameters Passed From Service to Business Process
The following table contains the parameters passed from the WebSphereMQ Suite Backout service to the business process:
Parameter | Description |
---|---|
WSMQ/CompletionCode | Only set if an MQException occurs and indicates the completion code. |
WSMQ/ReasonCode | Only set if an MQException occurs and indicates the reason code. |
Business Process Example
The following example illustrates how the WebSphereMQ Suite Backout service can be used in a business process:
<process name = "PUTexample">
<sequence name="OpenSession">
<operation name="Open Session">
<participant name="WSMQ_OpenSession"/>
<output message="toService">
<assign to="." from="*"/>
<assign to="wsmq_hostname">some_host_name</assign>
<assign to="wsmq_channel">some_channel_name</assign>
<!-- <assign to="wsmq_debug">Yes</assign> -->
</output>
<input message="fromService">
<assign to="." from="*"/>
</input>
</operation>
<sequence name="SessionOpened">
<operation name="Open Queue">
<participant name="WSMQ_OpenQueue"/>
<output message="toService">
<assign to="wsmq_sessionid" from="string(wsmq_sessionid)"/>
<assign to="wsmq_qname">some_queue_name</assign>
<assign to="wsmq_MQOO_type">PUT</assign>
<assign to="wsmq_MQOO_failifquiescing">Yes</assign>
</output>
<input message="fromService"/>
</operation>
<sequence name=”PUTgroup”>
<sequence name=”PUTsequence”>
<operation name="PUT message(s)">
<participant name="WSMQ_PutMessage"/>
<output message="toService">
<assign to="." from="*"/>
<assign to="wsmq_qname">some_queue_name</assign>
</output>
<input message="fromService">
<assign to="." from="*"/>
</input>
</operation>
</sequence> <!-- end of PUTsequence -->
<onFault>
<operation name="Backout">
<participant name="WSMQ_Backout"/>
<output message="toService">
<assign to="wsmq_sessionid" from="string(wsmq_sessionid)"/>
</output>
<input message="fromService"/>
</operation>
</onFault>
<operation name="Commit the PUT">
<participant name="WSMQ_Commit"/>
<output message="toService">
<assign to="wsmq_sessionid" from="string(wsmq_sessionid)"/>
</output>
<input message="fromService"/>
</operation>
</sequence> <!-- end of PUTgroup -->
<operation name="Close Queue">
<participant name="WSMQ_CloseQueue"/>
<output message="toService">
<assign to="wsmq_sessionid" from="string(wsmq_sessionid)"/>
<assign to="wsmq_qname">some_queue_name</assign>
</output>
<input message="fromService"/>
</operation>
<sequence name="CloseSession">
<operation name="Close Session">
<participant name="WSMQ_CloseSession"/>
<output message="toService">
<assign to="." from="*"/> <!—wsmq_sessionid passed by default -->
</output>
<input message="fromService"/>
</operation>
</sequence>
<onFault>
<operation name="Make sure session is closed">
<participant name="WSMQ_CloseSession"/>
<output message="toService">
<assign to="wsmq_sessionid" from="string(wsmq_sessionid)"/>
</output>
<input message="fromService"/>
</operation>
</onFault>
</sequence> <!-- end of SessionOpened sequence -->
</sequence> <!-- end of OpenSession sequence -->
</process>