JAX-WS: Message is lost when JAX-WS client handler returns false
----------------------------------------------------------------

                 Key: AXIS2-4862
                 URL: https://issues.apache.org/jira/browse/AXIS2-4862
             Project: Axis2
          Issue Type: Bug
            Reporter: Rich Scheuerle
            Assignee: Rich Scheuerle


Background:

The JAX-WS handler chain is run within the JAX-WS module of Axis2.   The JAX-WS 
module has its own MessageContext (org.apache.axis2.jaxws.core.MessageContext) 
and
this MessageContext has its own "blob" object (Message) that holds the xml 
message.
When flow logically enters and leaves the JAX-WS module, information (like the 
Message) is propogated to/from the Axis2 MessageContext.

For example, when a JAX-WS client handler edits the xml message (via SAAJ 
apis), it is actually editing the Message object on the jaxws core 
MessageContext.
After the handler chain completes, the flow of control moves from the JAX-WS 
module into the Axis2 outbound transport layer.
At that time, the Message object is propogated to the Axis2 MessageContext as 
an OM SOAPEnvelope.

Problem:
A user's JAX-WS client outbound handler's handleMessage method will return 
false if the the user wants the handler chain to stop processing the message.
In such cases, the chain is reversed and the outbound message becomes the 
inbound message.
The handlers are called and processing returns to the client application which 
invoked the BindingProvider (dispatch or proxy).

The problem is that the Message that was edited by the outbound handler(s) is 
lost when the chain is reversed.  
Thus the client application receives the wrong Message and fails.

Solution:
The JAX-WS runtime was failing to propogate its Message object to the Axis2 
MessageContext's OM SOAPEnvelope in this scenario.
The code will be changed to add this copy when the handler chain processing 
reverses the handler chain.
I am testing this solution now.

-- 
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: java-dev-unsubscr...@axis.apache.org
For additional commands, e-mail: java-dev-h...@axis.apache.org

Reply via email to