Transports and Interfaces: Siebel Enterprise Application Integration > EAI JMS Transport >

Sending and Receiving Custom JMS Properties


Properties can be assigned to a JMS message. A property can be an instance of any Java class or any of the primitive Java types. All properties of a message received by the Siebel JMS Transport are available as properties of the output property set. The Siebel EAI infrastructure can send and receive custom JMS properties without having to write custom code.

The name of a custom property is the original name with the eleven characters SIEBEL_JMS: prefixed; the value is the string obtained by converting the original value to a Java String object. When sending a message, any property of the input property set whose name begins with SIEBEL_JMS: is added to the message being sent as a JMS Message string property with the prefix SIEBEL_JMS: removed. For example, the property SIEBEL_JMS:foo is added to the message as the string property foo.

Receiving Custom Properties in Inbound Messages

Inbound messages are received through the JMS Receiver component (ReceiveDispatchSend or ReceiveDispatch method). This component is usually configured to dispatch the message to a workflow process.

To receive a custom JMS property in a workflow process

  1. Create a workflow process property as follows:
    Name
    Data Type
    In/Out

    SIEBEL_JMS:name

    String

    In/Out

    NOTE:  There is no space between the colon and the custom property name.

  2. Repeat Step 1 for every custom JMS property that is expected to be received and processed.

At run time, the Siebel EAI infrastructure automatically copies the value of the correct JMS property from the received message to the appropriate Workflow process property.

For example, to have two JMS properties called TLFXUserId and TLFXGroupId available to a workflow process, you must define two process properties called SIEBEL_JMS:TLFXUserId and SIEBEL_JMS:TLFXGroupId.

The workflow process can also set the values of the JMS properties using a step that calls the Workflow Utilities business service (Echo method) as shown in the following example:

Input Argument
Type
Value

SOV_Group

Expression

"SOV_Group"

SOV_User

Expression

"SOV_User"

Property Name
Type
Output Argument

SIEBEL_JMS:TLFXGroupId

Output Argument

SOV_Group

SIEBEL_JMS:TLFXUserId

Output Argument

SOV_User

An input argument (SOV_Group and SOV_User in the example) can be any string, with the requirement that the same string must be used as the output argument.

Because the process properties are defined as In/Out, they are passed back to the caller (the JMS Receiver in this case). The JMS Transport includes them in the output message as JMS properties.

For more information about creating workflow processes, see Siebel Business Process Framework: Workflow Guide.

Sending Custom Properties in Outbound Messages

In the standard application, outbound messages are sent to the JMS queue using the EAI JMS Transport business service (Send and SendReceive methods).

The standard BS though does not have the ability to set custom JMS properties, but it is extremely easy to create a new clone of the EAI JMS Transport BS to handle those.

To set custom JMS properties in outbound messages

  1. In Siebel Tools, create and open a workspace.
  2. Copy the EAI JMS Transport business service, then give the copy a new name and display name, such as My EAI JMS Clone.
  3. In the new business service, add business service method arguments to the Send method as follows:
    Name
    Data Type
    Type

    SIEBEL_JMS:name

    String

    Input

  4. Repeat Step 3 for the SendReceive method, but enter Input / Output for the Type property.

    Using Input / Output as the Type is necessary if the external system modifies the JMS properties and the new values are read into the Siebel application.

  5. Deliver the workspace.

The new business service can be used in any workflow process. You can pick the custom JMS properties as input argument names when defining workflow steps, and the custom JMS properties are added to the JMS message. For more information about creating workflow processes, see Siebel Business Process Framework: Workflow Guide. For more information about business services, see Integration Platform Technologies: Siebel Enterprise Application Integration.

Transports and Interfaces: Siebel Enterprise Application Integration Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Legal Notices.