axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rich Scheuerle (JIRA)" <j...@apache.org>
Subject [jira] Closed: (AXIS2-4862) JAX-WS: Message is lost when JAX-WS client handler returns false
Date Sun, 07 Nov 2010 14:30:07 GMT

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

Rich Scheuerle closed AXIS2-4862.
---------------------------------

    Resolution: Fixed

Revision 1032284

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


Mime
View raw message