Receiving and Dispatching MSMQ Messages with MSMQ Receiver

The following procedure describes how to set up your system to receive an inbound message from MSMQ by MSMQ Receiver, then perform an action based on that message within the Siebel application.

To receive and dispatch messages using the EAI MSMQ Transport (MSMQ Receiver)

  1. Access the Windows Computer Management tool by choosing the Start menu, Programs, Administrative Tools, and then Computer Management.

  2. Set up a queue to send messages to the Siebel application:

    1. Name the queue an easily identified name, such as toSiebel.

    2. Create a message in the queue.

    Note: To test this procedure adequately, you must have a partner application that can send a valid message for the Siebel application to the queue.
  3. Create a named subsystem for the MSMQ Receiver using the following lines:

    create named subsystem MyMSMQSubsys for subsystem MSMQSubsys with 
    MsmqQueueMachineName=SiebelServer1, MsmqPhysicalQueueName=fromSiebel, 
    MsmqRespQueueMachineName=SiebelServer2, MsmqRespQueueName=toSiebel
    
    create named subsystem SiebelEcho for subsystem EAITransportDataHandlingSubsys 
    with DispatchService="Workflow Process Manager", DispatchMethod=RunProcess, 
    DispatchWorkflowProcess="MyMSMQWorkflow"
    
    start task for comp MSMQRcvr with ReceiverConnectionSubsystem=MyMSMQSubsys, 
    ReceiverDataHandlingSubsystem=SiebelEcho, ReceiverMethodName=ReceiveDispatch
    
    Note: The DispatchService and DispatchMethod parameters are optional.
  4. Set up a workflow in Siebel Tools to receive and dispatch a message from MSMQ. The workflow should contain the following steps, as shown in the following image:

    1. XML Converter (XMLto PropSet)

    2. Siebel Adapter (Insert)

    Workflow for receiving and dispatching a message from MSMQ. This image is decribed in the surrounding text.
    Note: For details on the Business Process Designer, see Siebel Business Process Framework: Workflow Guide.
  5. Create the following process properties:

    Name Data Type In/Out

    Test Message

    Hierarchy

    In/Out

    Test XML

    Binary

    In/Out

    Error Code

    String

    In/Out

    Error Message

    String

    In/Out

    Object Id

    String

    In/Out

    Siebel Operation Object Id

    String

    In/Out

  6. Set up the first step of the workflow after Start to use the EAI XML Converter business service with the XMLDocToIntObjHier method to convert the XML message to a Siebel Message using the following input and output arguments:

    Input Argument Type Property Name Property Data Type

    <Value>

    Process Property

    Test XML

    Binary

    Property Name Type Output Argument

    Test Message

    Output Argument

    SiebelMessage

  7. Set up the second step to use the EAI Siebel Adapter with the Upsert method to update the Siebel Database, using the following input arguments:

    Input Argument Type Property Name Property Data Type

    SiebelMessage

    Process Property

    Test Message

    Hierarchy

    Note: In order to test this scenario adequately, you must have a partner application that can send a valid message for the Siebel application to the queue.
  8. Save the workflow.