axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Turner (JIRA)" <>
Subject [jira] Created: (AXIS2-2681) JMS Correlation ID Not Set
Date Thu, 17 May 2007 09:02:16 GMT
JMS Correlation ID Not Set

                 Key: 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:
For additional commands, e-mail:

View raw message