I am using similar code in SAAJ case, where I need to stop the process of 
inbound interceptors, create a new chain for outbound, start the outbound 
interceptor chain from a certain point, see code snippet below from 
LogicalHandlerInterceptor.java

                message.getInterceptorChain().abort();
                Message responseMsg = new MessageImpl();
                message.getExchange().setInMessage(responseMsg);
 
                Client client = (Client)message.getExchange().get(Client.class);
                
responseMsg.put(PhaseInterceptorChain.STARTING_AFTER_INTERCEPTOR_ID, 
this.getId());

This definitely works, but in the rm case, can we just modify the interceptor 
chain dynamically, say, adding or removing some interceptors, without creating 
a new chain?

Cheers,
Jervis

> -----Original Message-----
> From: Dan Diephouse [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, December 12, 2006 5:34 AM
> To: [email protected]
> Subject: JaxwsInterceptorRemoverInterceptor and RM
> 
> 
> I added a HolderOutInterceptor which handles the holder stuff 
> for outgoing
> invocations. But I noticed that this still gets executed in 
> RM scenarios,
> causing issues as what it expects to be there is not there.
> 
> Would it help if RM could do something like this: once it 
> realizes there is
> an RM message, stop the current chain and start a new chain 
> at a specified
> phase. The idea here being that the new chain has only the 
> interceptors RM
> needs.  In code form:
> 
> currentChain.stop();
> newChain.doIntercept(message, startPhase);
> 
> This scenario would be needed for the SAAJ case too where we 
> have a reversed
> chain, with a pre-made SAAJ response and need to start it 
> somewhere after
> the first phase.
> 
> Cheers,
> - Dan
> 
> -- 
> Dan Diephouse
> Envoi Solutions
> http://envoisolutions.com | http://netzooid.com/blog
> 

Reply via email to