Transports and Interfaces: Siebel Enterprise Application Integration > Java Message Service Transport > Configuring the JMS Transport >

Sending and Receiving Messages with the JMS Transport


The procedure below describes how to set up the Siebel application to send a message to an external system using the EAI JMS Transport and receive a corresponding reply from the external system.

To send and receive messages with the JMS Transport

  1. Set up a JMS queue to receive messages from the Siebel application and give the queue an easy-to-identify name, such as fromSiebel.

    Refer to your JMS provider documentation on how to administer, monitor, and define new persistent queues.

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

    Refer to your JMS provider documentation on how to administer, monitor and define new persistent queues.

    1. Give the queue an easy-to-identify name, such as toSiebel.
    2. Create a message in the queue.

      NOTE:  In order to test this scenario adequately, you must have a partner application that can place a valid message for the Siebel application in the queue.

  3. From the Site Map choose Administration - Business Process > Workflow Processes.
  4. Configure and deploy a workflow process for sending a message out and receiving a message in response using the EAI JMS Transport.

    Define the flow as shown in the following figure.

    Click for full size image

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

  5. Create the following process properties in the Process Properties applet:
    Name
    Data Type
    In/Out
    Default String
    Comments

    OrderXML

    Binary

    In

     

     

    JMSConnectionFactory

    String

    In

    examples.jms.ConnectionFactory

    JNDI name of the JMS connection factory

    JMSReceiveQueue

    String

    In

    examples.jms.toSiebel

    JNDI name of the queue

    JMSSendQueue

    String

    In

    examples.jms.fromSiebel

    JNDI name of the queue

    JMSReceiveTimeout

    String

    In

    180000

     

    Order Message

    Integration Object

    In

     

     

  6. Set up the first step of the workflow to use the Siebel Order ASI with the QueryById method to query the information from the Siebel database using the following input and output arguments:
    Input Argument
    Type
    Value
    Property Name

    PrimaryRowId

    Process Property

     

    Object Id

    Property Name
    Type
    Value
    Output Argument

    Order Message

    Output Argument

     

    SiebelMessage

  7. Set up the second step of the workflow to use the EAI XML Converter with the IntObjHierToXMLDoc method to convert the data extracted from the Siebel database to XML using the following input and output arguments:
    Input Argument
    Type
    Value
    Property Name

    GenerateProcessingInstructions

    Literal

    False

     

    SiebelMessage

    Process Property

     

    Order Message

    Property Name
    Type
    Value
    Output Argument

    OrderXML

    Output Argument

     

    <Value>

  8. Set up the third step of the workflow process, after Start, to use the EAI JMS Transport with the SendReceive method using the following input and output arguments:
    Input Argument
    Type
    Value
    Property Name

    <Value>

    Process Property

     

    OrderXML

    ConnectionFactory

    Process Property

     

    JMSConnectionFactory

    ReceiveQueue

    Process Property

     

    JMSReceiveQueue

    ReceiveTimeout

    Process Property

     

    JMSReceiveTimeout

    SendQueue

    Process Property

     

    JMSSendQueue

    Property Name
    Type
    Value
    Output Argument

    OrderXML

    Output Argument

     

    <Value>

  9. Set up the fourth step to use the EAI XML Converter with the XMLDocToIntObjHier method to convert the XML message to an Integration Object using the following input and output arguments:
    Input Argument
    Type
    Value
    Property Name

    <Value>

    Process Property

     

    OrderXML

    Property Name
    Type
    Value
    Output Argument

    Order Message

    Output Argument

     

    SiebelMessage

  10. Set up the last step to use the Siebel Order ASI with the Synchronize message to update the Siebel database using the following input and output arguments:
    Input Argument
    Type
    Value
    Property Name

    SiebelMessage

    Process Property

     

    Order Message

    Property Name
    Type
    Value
    Output Argument

    Order Message

    Output Argument

     

    SiebelMessage

  11. Save and deploy the workflow process.

    It is recommended that the Workflow Simulator be used for testing purposes.

    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 Enterprise Application Integration