I logged:

https://issues.apache.org/jira/browse/CXF-3406  

to track this.  And fix is being committed now.

Dan



On Wednesday 16 March 2011 2:57:49 PM Daniel Kulp wrote:
> This looks like a bug...
> 
> I just checked the JaxWsMethodInvoker
> try {
> ....
>     res = CastUtils.cast((List)super.invoke(exchange, serviceObject, m,
> params));
>             //update the webservice response context
>             addHandlerProperties(ctx, handlerScopedStuff);
>             updateWebServiceContext(exchange, ctx);
>         } catch (Fault f) {
>             //get chance to copy over customer's header
>             updateHeader(exchange, ctx);
>             throw f;
>         } finally {
>             //clear the WebServiceContextImpl's ThreadLocal variable
>             WebServiceContextImpl.clear();
>         }
> 
> Thus, the addHandlerProperties call which adds the handler scoped
> properties back into the context after the invoke is not being called for
> application level faults.  :-(    I believe moving that into the finally
> shouldb e fine, but I'll need to double check that.
> 
> 
> Dan
> 
> On Wednesday 16 March 2011 5:13:50 AM drapanjanas wrote:
> > Hi,
> > 
> > Having trouble retrieving properties from LogicalMessageContext in
> > handleFault(..) which were set in method handleMessage(..)
> > 
> > I do smething like this:
> > public boolean handleFault(LogicalMessageContext context) {
> > 
> >    String requestId = context.get(REQUEST_ID_KEY);
> >    return true;
> > 
> > }
> > public boolean handleMessage(LogicalMessageContext context) {
> > 
> > if(Boolean.TRUE.equals(context.get(MessageContext.MESSAGE_OUTBOUND_PROPER
> > TY ))) {
> > 
> >        String requestId = context.get(REQUEST_ID_KEY);
> >    
> >    } else {
> >    
> >       String requestId = ... get from message payload ...
> >       context.put(REQUEST_ID_KEY, requestId);
> >    
> >    }
> >    return true;
> > 
> > }
> > 
> > In case of operation fault from my webservice i get null for requestId,
> > but in case of successful response i get it same as was set.
> > And in case of ProtocolException is thrown in deeper handlers in the
> > chain - then i get requestId as expected in handleFault.
> > 
> > Have someone faced similar issue with MesageContext properties? I'm using
> > CXF version 2.2.2
> > Please help.
> > Thanks.
> > BR,
> > Arturas Girenko
> > 
> > --
> > View this message in context:
> > http://cxf.547215.n5.nabble.com/LogicalMessageContext-in-handleFault-does
> > - not-contain-properties-set-in-handleMessage-tp3772342p3772342.html Sent
> > from the cxf-user mailing list archive at Nabble.com.

-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog
Talend - http://www.talend.com

Reply via email to