[ 
https://issues.apache.org/jira/browse/AXIS2-4862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rich Scheuerle resolved AXIS2-4862.
-----------------------------------

    Resolution: Fixed

revision 1027138

> 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
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> 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