JMS Correlation ID Not Set
--------------------------
Key: AXIS2-2681
URL: https://issues.apache.org/jira/browse/AXIS2-2681
Project: Axis 2.0 (Axis2)
Issue Type: Bug
Components: transports
Affects Versions: 1.2
Environment: NA
Reporter: John Turner
Using JMS as a transport I send a SOAP message to and Axis2 web service. I set
the JMS Correlation ID and await a response with the same correlation ID.
Axis2 does not propagate a correlation ID if it is set by the service consumer.
Instead it overrides the correlation ID with the message ID.
What should happen is that if a correlation ID is present it should be set in
the response message. If it is not present the correlation ID should be set to
the message ID.
I worked around this problem by enhancing the
MessageContextBuilder.createOutMessageContext method to set the
JMS_COORELATION_ID property in the response message context if it is available
from the request message context. i.e.
String correlationId =
(String)
inMessageContext.getProperty(JMSConstants.JMS_COORELATION_ID);
if (correlationId != null && correlationId.length() > 0) {
newmsgCtx.setProperty(JMSConstants.JMS_COORELATION_ID,
correlationId);
}
This problem was highlighted in a case where there are multiple JMS hops (e.g.
between WLS JMS and WSMQ). The client connecting to WLS JMS has no way of
knowing what message ID was allocated to the request by WSMQ and so no way of
correlating the request and the response.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]