Receiving, Dispatching, and Sending MSMQ Messages with MSMQ Receiver
The following procedure shows you how to set up your system to receive an inbound message from MSMQ by MSMQ Receiver, perform an action within a Siebel application based on that message, and then send a synchronous response back to the external system.
To receive, dispatch, and send messages using the EAI MSMQ Transport (MSMQ Receiver)
Access the Windows Computer Management tool by choosing the Start menu, Programs, Administrative Tools, and then Computer Management.
Set up an MSMQ queue to receive messages from the Siebel application.
Give the queue an easily identified name, such as fromSiebel.
Set up another queue to send messages to the Siebel application.
Name the queue an easily identified name, such as toSiebel.
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.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=ReceiveDispatchSend
Note: The DispatchService and DispatchMethod parameters are optional.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:
XML Converter (XMLto PropSet)
Siebel Adapter (Upsert)
Note: For details on the Business Process Designer, see Siebel Business Process Framework: Workflow Guide.Create the following process properties:
Name Data Type In/Out Value Test Message
Hierarchy
In/Out
Not applicable
Test XML
Binary
In/Out
Test Message from Siebel Server
Error Code
String
In/Out
Not applicable
Error Message
String
In/Out
Not applicable
Object Id
String
In/Out
Not applicable
Siebel Operation Object Id
String
In/Out
Not applicable
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
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: To test this scenario adequately, you must have a partner application that can send a valid message for the Siebel application to the queue.Save the workflow.
After running the workflow, confirm that the message is removed from the queue using the MSMQ Explorer. In this example, the Siebel Database is updated with the message in the fromSiebel queue. Also, a response message is in the queue specified by the MSMQRespQueueName and MSMQRespQueueMachineName arguments.