Sending Messages with EAI MSMQ Transport

The following procedure describes how to set up your system to send a message to an external system using the EAI MSMQ Transport.

To send messages from a Siebel application to MSMQ

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

  2. Set up an MSMQ queue to receive messages from the Siebel application. Give the queue an easily identified name, such as fromsiebel. The MSMQ queue you create (for example, fromsiebel) will appear in the list of queues.

  3. Set the queue to be Transactional.

    Note: This flag allows Siebel CRM to group a number of Send or Receive messages. This is critical when large data sets are being used because it allows a commit or a rollback to be executed without failure.
  4. Set up a workflow in Siebel Tools to send a message to MSMQ. The workflow should contain the following steps, as show in the following image:

    1. Siebel Adapter (Query)

    2. XML Converter (PropSet ToXML)

    3. EAI MSMQ Transport (Send)

    In the first step of the workflow, the Siebel Adapter queries for a record, the XML Converter converts that record to an XML document and sent to an MSMQ queue, and then the EAI MSMQ Transport sends the message.
    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 Value

    Employee Message

    Hierarchy

    In/Out

    Not applicable

    Employee XML

    Binary

    In/Out

    Not applicable

    Error Code

    String

    In/Out

    Not applicable

    Error Message

    String

    In/Out

    Not applicable

    Object Id

    String

    In/Out

    Row Id of an Employee record

    Siebel Operation Object Id

    String

    In/Out

    Not applicable

  6. Set up the first step of the workflow, after Start, to use the EAI Siebel Adapter business service with the Query method to query the information from the Siebel database using the following input and output arguments:

    Input Argument Type Value Property Name

    OutputIntObjectName

    Literal

    Sample Employee

    Not applicable

    PrimaryRowId

    Process Property

    Not applicable

    Object Id

    Property Name Type Output Argument

    Employee Message

    Output Argument

    SiebelMessage

  7. Set up the second step to use the EAI XML Converter business service with the PropSetToXML method to convert the data extracted from the Siebel Database to XML format using the following input and output arguments:

    Input Argument Type Property Name

    SiebelMessage

    Process Property

    Employee Message

    Property Name Type Output Argument

    Employee XML

    Output Argument

    <Value>

  8. Set up the third step to use EAI MSMQ Transport with the Send method to send the information to the external system, using the following input arguments:

    Input Argument Type Value Property Name

    <Value>

    Process Property

    Not applicable

    Employee XML

    MsmqPhysicalQueueName

    Literal

    private$\FromSiebel

    Not applicable

    MsmqQueueMachineName

    Literal

    SiebelServer

    Computer name where the Siebel MSMQ Transport is running.

    Not applicable

  9. Save the workflow and run it from the Workflow Simulator.

    Confirm that a message was sent to the queue using the MSMQ Explorer. In this example, if the simulation is successful, then a message is in the fromSiebel queue and contains an XML file with employee information.