cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paibir, Ajay" <>
Subject RE: Why is OutgoingChainSetupInterceptor in inbound chain ?
Date Thu, 15 Mar 2007 15:35:07 GMT


If a inbound interceptor wants to change the flow from inbound to
outbound or operate on outbound message/chain then it has to take
explicit responsibility of setting up the outbound message and chain.
Why do it before hand when it is not known if the outbound message is
normal repsonse or fault? 
Also it is puzzling that out chain/message were created in PRE_LOGICAL
not as early as Protocol Phases or ChainObserver.

The use case was to include only interceptor operating b/w
Phase.PRE_LOGICAL  to Phase.INVOKE in inbound and on outbound include
interceptor from Phase.SETUP to Phase.POST_LOGICAL. And my custom
interceptor will setup the outbound chain in POST_INVOKE phase. But what
I observed was the outgoing chain was already evaluated in the inbound


-----Original Message-----
From: Dan Diephouse [] 
Sent: 15 March 2007 14:57
Subject: Re: Why is OutgoingChainSetupInterceptor in inbound chain ?

I think the point of puttoing the outgoingchainsetupinterceptor early in
the inbound chain is to create an out message and outgoing chain asap.
This allows further interceptors to operate on that message/chain if
they wanted to.

Whats your use case for changing it?

- Dan

On 3/15/07, Paibir, Ajay <> wrote:
> Hi,
> I noticed the OutgoingChainSetupInterceptor is part of the inbound 
> interceptor chain operating in the PRE_LOGICAL phase. It does the 
> following things
> a) Sets up the outbound message before even the message is dispatched 
> to the implementor.
> b) Copy Message properties from inbound to outbound message
> c) Sets up the outbound interceptor chain.
> d) Sets up outbound fault message.
> I think a) and c) are done in a eager manner and should be deferred 
> further down the inbound chain or if possible to start of outbound 
> chain.
> So i am proposing to move (a),(b)  to ServiceInvokeInterceptor and (c)

> to OutgoingChainInterceptor which intiates the outbound chain. Leave 
> the
> (d)  to the fault observer namely OutFaultChainInitiatorObserver.
> Thus eliminating OutgoingChainSetupInterceptor.
> Any suggestions, comments? I volunteer to do the changes if it makes 
> sense.
> Regards
> Ajay

Dan Diephouse
Envoi Solutions |

View raw message