Sunday, August 7, 2011

Using the JMS Request/Reply service

Create a RRBS, Any XML, protocol JMS,
URL jms://localhost:7001/weblogic.jms.XAConnectionFactory/RRPSRequest (it's the Queue on which the RRPS listens)

Response Queue: One for all Request URIs
Response Pattern : JMSCorrelationID
Response URI: jms://localhost:7001/weblogic.jms.XAConnectionFactory/RRPSResponse

Create a HTTP Any XML Request/Reply "entryWS", route to RRBS ("pass all headers")


Proxy Service entryWS writes to Business Service RRBS
Business Service RRBS writes to Queue RRPSRequest
Proxy Service RRPS reads from Queue RRPSRequest and writes to Queue RRPSResponse
Business Service RRBS reades from Queue RRPSResponse and returns to entryWS

If you log $inbound, you will see that the RRBS sets a correlation Id on the message sent to RRPSRequest.
The messageId of the message in RRPSRequest is different from the messageId in the message in RRPSResponse, but the correlationId is the same.
The correlationId is required by the RRBS to match the response to the request on the 2 Queues.

Here the OSB jar file with the code

No comments: