CICS® provides support
for sending persistent messages using the WebSphere® MQ transport protocol to a web
service provider application that is deployed in a CICS region.
About this task
CICS uses Business
Transaction Services (BTS) to ensure that persistent messages are
recovered in the event of a CICS system
failure. For this to work correctly, follows these steps:
Procedure
- Use IDCAMS to define the local request queue and repository
file to MVS™. You
must specify a suitable value for STRINGS for the file definition.
The default value of 1 is unlikely to be sufficient, and you are
recommended to use 10 instead.
- Define the local request queue and repository file to CICS. Details of how
to define the local request queue to CICS are
described in Defining local queues in a service provider. You must
specify a suitable value for STRINGS in the file definition. The
default value of 1 is unlikely to be sufficient, and it is recommended
that you use 10 instead.
- Define a PROCESSTYPE resource with the name DFHMQSOA, using
the repository file name as the value for the FILE option.
- Ensure that during the processing of a persistent message,
a program issues an EXEC CICS SYNCPOINT command
before the first implicit syncpoint is requested; for example, using
an SPI command such as EXEC CICS CREATE TDQUEUE implicitly
takes a syncpoint. Issuing an EXEC CICS SYNCPOINT command
confirms that the persistent message has been processed successfully.
If a program does not explicitly request a syncpoint before trying
to implicitly take a syncpoint, an ASP7 abend is issued.
What to do next
For one way request messages, if the web service abends or
backs out, sufficient information is retained to allow a transaction
or program to retry the failing request, or to report the failure
appropriately. You need to provide this recovery transaction or program.
See
Persistent message processing for details.