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]

Reply via email to