Return-Path: Delivered-To: apmail-incubator-cxf-dev-archive@locus.apache.org Received: (qmail 3195 invoked from network); 16 Mar 2007 19:10:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 16 Mar 2007 19:10:16 -0000 Received: (qmail 16088 invoked by uid 500); 16 Mar 2007 19:10:25 -0000 Delivered-To: apmail-incubator-cxf-dev-archive@incubator.apache.org Received: (qmail 15936 invoked by uid 500); 16 Mar 2007 19:10:24 -0000 Mailing-List: contact cxf-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cxf-dev@incubator.apache.org Delivered-To: mailing list cxf-dev@incubator.apache.org Received: (qmail 15927 invoked by uid 99); 16 Mar 2007 19:10:24 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Mar 2007 12:10:24 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: neutral (herse.apache.org: local policy) Received: from [209.85.132.241] (HELO an-out-0708.google.com) (209.85.132.241) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Mar 2007 12:10:13 -0700 Received: by an-out-0708.google.com with SMTP id b2so677695ana for ; Fri, 16 Mar 2007 12:09:50 -0700 (PDT) Received: by 10.100.112.19 with SMTP id k19mr1808133anc.1174072190818; Fri, 16 Mar 2007 12:09:50 -0700 (PDT) Received: by 10.100.166.9 with HTTP; Fri, 16 Mar 2007 12:09:50 -0700 (PDT) Message-ID: <7b774c950703161209y49914769jbbcd13cbda949b53@mail.gmail.com> Date: Fri, 16 Mar 2007 15:09:50 -0400 From: "Dan Diephouse" To: cxf-dev@incubator.apache.org Subject: Re: Why is OutgoingChainSetupInterceptor in inbound chain ? In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_79037_5749466.1174072190768" References: X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_79037_5749466.1174072190768 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline What about: C) The outMessage/outgoing chain gets created once we know we have an output message? Otherwise I would prefer B. - Dan On 3/15/07, Glynn, Eoghan wrote: > > > > Hi Ajay, > > I also found it confusing having the OutgoingChainSetupInterceptor > running in the PRE_LOGICAL phase. > > If the response has to be sent before this phase is entered (e.g. as a > result of a JAX-WS protocol handler killing the dispatch), then the > relevant interceptor has to take responsibility for setting up the > outgoing chain anyway. > > The confusion is only deepened by the AbstractServerFactoryBean adding > this interceptor to the normal *in* chain, but also the fault *out* > chain. > > So it would seem more logical to either: > > A) set up the out-chain before even the first interceptor in the > in-chain is traversed, e.g. in the ChainInitiationObserver.onMessage() > > B) leave to the POST_INVOKE phase as you suggest so that there is no > confusion, i.e. so every in-interceptor knows it must take explicit > responsibility for setting up the out-chain if it needs to send a > 'premature' response. > > Contrast with the current scenario whereby the in-interceptor would only > need to do the out-chain setup if it runs in a phase before PRE_LOGICAL, > or even more error-prone if its in PRE_LOGICAL phase itself but doesn't > call addAfter(OutgoingChainSetupInterceptor.class). > > Cheers, > Eoghan > > > > -----Original Message----- > > From: Paibir, Ajay [mailto:ajay.paibir@iona.com] > > Sent: 15 March 2007 15:35 > > To: cxf-dev@incubator.apache.org > > Subject: RE: Why is OutgoingChainSetupInterceptor in inbound chain ? > > > > > > Dan > > > > 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 side. > > > > Ajay > > > > -----Original Message----- > > From: Dan Diephouse [mailto:dan@envoisolutions.com] > > Sent: 15 March 2007 14:57 > > To: cxf-dev@incubator.apache.org > > 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 > > http://envoisolutions.com | http://netzooid.com/blog > > > -- Dan Diephouse Envoi Solutions http://envoisolutions.com | http://netzooid.com/blog ------=_Part_79037_5749466.1174072190768--