Defining local queues in a service provider

To use the WebSphere® MQ transport in a service provider, you must define an initiation queue, one or more local queues that store input messages until they are processed, and one trigger process that specifies the CICS® transaction that will process the input messages.

  1. Start of changeDefine an initiation queue. Use the following command:

    DEFINE
    QLOCAL('initiation_queue')
    DESCR('description')

    where initiation_queue is the same as the value specified in IQ= in CSQCPARM in the INITPARM system initialization parameter.End of change
  2. For each local input queue, define a QLOCAL object. Use the following command:

    DEFINE
    QLOCAL('queuename')
    DESCR('description')
    PROCESS(processname)
    INITQ('initiation_queue')
    TRIGGER
    TRIGTYPE(FIRST)
    TRIGDATA('default_target_service')
    BOTHRESH(nnn)
    BOQNAME('requeuename')

    where:
    • queuename is the local queue name.
    • processname is the name of the process instance that identifies the application started by the queue manager when a trigger event occurs. Specify the same name on each QLOCAL object.
    • initiation_queue is the name of the initiation queue to be used that you specified in the previous step.
    • default_target_service is the default target service to be used if a service is not specified on the request . The target service is of the form '/string' and is used to match the path of a URIMAP definition. for example '/SOAP/test/test1'. Note that the first character must be '/' .
    • nnn is the number of retries that will be attempted.
    • requeuename is the name of the queue to which failed messages will be sent.
  3. Define a PROCESS object that specifies the trigger process. Use the following command:

    DEFINE
    PROCESS(processname)
    APPLTYPE(CICS)
    APPLICID(CPIL)

    where:
    • processname is the name of the process, and must be the same as the name that is used when defining the input queues.