Transports and Interfaces: Siebel eBusiness Application Integration Volume III > EAI MSMQ Transport > Configuring EAI MSMQ Transport for Various Send and Receive Scenarios >

Sending Outbound Messages with EAI MSMQ Transport


With the Siebel application as the sender (outbound messaging), you design a workflow process that queries for a record (such as a contact) and then converts that record to an XML document. The XML document is then sent to an MSMQ queue.

Because MSMQ imposes a limit of four megabytes on the size of the messages it can handle, the EAI MSMQ Transport separates outbound Siebel messages larger than four megabytes into smaller messages acceptable to MSMQ. The message is then reassembled after it has left MSMQ and arrived at your partner's system.

There are two methods for sending messages from a Siebel application to MSMQ:

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 EAI MSMQ Transport.

To send messages from a Siebel application to MSMQ

  1. Access the Windows Computer Management tool.
  2. Set up an MSMQ queue to receive messages from the Siebel application. Give the queue an easy-to-identify name, such as fromsiebel, as shown in the following illustration.
  3. Click for full size image

  4. Set the queue to be Transactional.
  5. NOTE:  This flag allows Siebel applications 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.

  6. From the application-level menu, choose View > Site Map > Business Process Administration > Workflow Processes.
  7. Set up a workflow process for sending a message to MSMQ. Define the flow as shown in the following figure:
  8. Click for full size image

    NOTE:  For details on Business Process Designer, see Siebel Business Process Designer Administration Guide.

  9. Create the following process properties in the Process Property applet:
  10. Name
    Data Type
    In/Out
    Value
    Employee Message
    Hierarchy
    In/Out
    -
    Employee XML
    Binary
    In/Out
    -
    Error Code
    String
    In/Out
    -
    Error Message
    String
    In/Out
    -
    Object Id
    String
    In/Out
    Row Id of an Employee record
    Siebel Operation Object Id
    String
    In/Out
    -

  11. Set up the first step of the workflow, after Start, to use EAI Siebel Adapter with the Query method to query the information from the Siebel Database using the following input and output arguments:
  12. Input Arguments
    Type
    Value
    Property Name
    Property Data Type
    Output Integration Object
    Literal
    Sample Employee
    -
    -
    Object Id
    Process Property
    -
    Object Id
    String

    Property Name
    Type
    Value
    Output Argument
    Employee Message
    Output Argument
    -
    Siebel Message

  13. Set up the second step to use XML Converter with the PropSetToXML method to convert the data extracted from the Siebel Database to XML format using the following input and output arguments:
  14. Input Arguments
    Type
    Value
    Property Name
    Property Data Type
    Siebel Message
    Process Property
    -
    Employee Message
    Hierarchy

    Property Name
    Type
    Value
    Output Argument
    Employee XML
    Output Argument
    -
    XML Document

  15. 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:
  16. Input Arguments
    Type
    Value
    Property Name
    Property Data Type
    Message Text
    Process Property
    -
    Employee XML
    Binary
    MsmqPhysicalQueueName
    Literal
    private$\FromSiebel
    -
    -
    MsmqQueueMachineName
    Literal
    Siebel7
    -
    -

  17. Save the workflow and run it from the Workflow Process Simulator.
  18. Confirm that a message was sent to the queue using the MSMQ Explorer. In this example, a message should be in the fromSiebel queue and should contain an XML file with employee information.

Sending and Receiving Messages with EAI MSMQ Transport

The procedure below describes how to set up your system to send a message to an external system using EAI MSMQ Transport and receive a synchronous message back from the external system using EAI MSMQ Transport.

To send a literal to MSMQ and receive a response

  1. Access the Windows Computer Management tool.
  2. Set up an MSMQ queue to receive messages from the Siebel application, and give the queue an easy to identify name, such as fromsiebel.
  3. Set up another queue to send messages to the Siebel application, and give the queue an easy-to-identify name, such as tosiebel.
  4. From the application-level menu, choose View > Site Map > Business Process Administration > Workflow Processes.
  5. Set up a workflow process for sending a message out and receiving a message in response using EAI MSMQ Transport. Define the flow as shown in the following figure:
  6. Click for full size image

    NOTE:  For details on Business Process Designer, see Siebel Business Process Designer Administration Guide.

  7. Create the following process properties in the Process Property applet:
  8. Name
    Data Type
    In/Out
    Value
    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
    -

  9. Set up the first step of the workflow after Start to use EAI Siebel Adapter with the Query method to query the information from the Siebel Database using the following input and output arguments:
  10. Input Arguments
    Type
    Value
    Property Name
    Property Data Type
    Output Integration Object
    Literal
    Sample Employee
    -
    -
    Object Id
    Process Property
    -
    Object Id
    String

    Property Name
    Type
    Value
    Output Argument
    Test Message
    Output Argument
    -
    Siebel Message

  11. Set up the second step to use XML Converter with the PropSetToXML method to convert the data extracted from the Siebel Database to XML format using the following input and output arguments:
  12. Input Arguments
    Type
    Value
    Property Name
    Property Data Type
    Siebel Message
    Process Property
    -
    Test Message
    Hierarchy

    Property Name
    Type
    Value
    Output Argument
    Test XML
    Output Argument
    -
    XML Document

  13. Set up the third step of the workflow process, after Start, to use EAI MSMQ Transport with the SendReceive method to receive the incoming XML message, using the following input and output arguments:
  14. Input Arguments
    Type
    Value
    Property Name
    Property Data Type
    MsmqPhysicalQueueName
    Literal
    fromsiebel
    -
    -
    MsmqQueueMachineName
    Literal
    Siebel2001
    Machine name where the Siebel MSMQ Transport is running.
    -
    -
    MsmqRespQueueMachineName
    Literal
    Siebel2001A
    -
    -
    MsmqRespQueueName
    Literal
    tosiebel
    -
    -

    Property Name
    Type
    Value
    Output Argument
    Test XML
    Output Argument
    -
    XML Message

  15. Set up the fourth step to use XML Converter with the XMLToPropSet method to convert the XML message to a Siebel property set using the following input and output arguments:
  16. Input Arguments
    Type
    Value
    Property Name
    Property Data Type
    XML Document
    Process Property
    -
    Test XML
    Binary

    Property Name
    Type
    Value
    Output Argument
    Test Message
    Output Argument
    -
    Siebel Message

  17. Set up the last step to use the EAI Siebel Adapter with the Insert or Update method to update the Siebel Database, using the following input argument:
  18. Input Arguments
    Type
    Value
    Property Name
    Property Data Type
    Siebel Message
    Process Property
    -
    Test Message
    Hierarchy

  19. Save the workflow and run a test using the Workflow Process Simulator.
  20. The Output Property set should have a message in the Value field. Additionally, the EndOfData argument in the property set should be set to True.

    NOTE:  In order to test this scenario adequately, you must have a partner application that can accept the message and return a response. The correlation ID of the response message must be set to the message ID of the message originally sent by the Siebel application.


 Transports and Interfaces: Siebel eBusiness Application Integration Volume III 
 Published: 23 June 2003