Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 78335 invoked from network); 27 Mar 2008 12:39:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 27 Mar 2008 12:39:21 -0000 Received: (qmail 5142 invoked by uid 500); 27 Mar 2008 12:39:18 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 5093 invoked by uid 500); 27 Mar 2008 12:39:18 -0000 Mailing-List: contact axis-dev-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-dev@ws.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-dev@ws.apache.org Received: (qmail 5082 invoked by uid 99); 27 Mar 2008 12:39:18 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 27 Mar 2008 05:39:18 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of davanum@gmail.com designates 209.85.200.168 as permitted sender) Received: from [209.85.200.168] (HELO wf-out-1314.google.com) (209.85.200.168) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 27 Mar 2008 12:38:36 +0000 Received: by wf-out-1314.google.com with SMTP id 28so3275372wff.28 for ; Thu, 27 Mar 2008 05:38:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=oUIvTPRpyJaHKibLZRsI/c7TsnMnODBuMGtmPekjGvU=; b=mC498HPs5Smf6RTwbT3NdAr4GF1r+WCEPmrtr52enM7z8RP6XNkUD9lhzkNbt1nyVRQvSgaDD2X2O5dqVVKBU/C3j69mxLJvs5XGJ+t0KAvflts6b3XCasqVQQcf61UpFFfaO87Ah+mZ9BKbBqfKJgOHH3C7hbWJQQOfC5g0Q6M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=dtFb7L5x0lkAxuPpxyWQojVx5YD0Prt2/D1Yo4P4P9tV4YuIFeSdxdGlrO5X88uoafoXbVwd6DgfkX2Mq40uX0L2S8Xa7ZEXjnNS8zls9Rlnfy6kHlwvR0sq9C4WZq4mURr4E+1rp44VdNd301zHAddHv1ydTXGupnAVOlAcSuM= Received: by 10.142.127.10 with SMTP id z10mr1010188wfc.122.1206621528253; Thu, 27 Mar 2008 05:38:48 -0700 (PDT) Received: by 10.142.229.20 with HTTP; Thu, 27 Mar 2008 05:38:48 -0700 (PDT) Message-ID: <19e0530f0803270538k705767fdsddf332c623d03469@mail.gmail.com> Date: Thu, 27 Mar 2008 08:38:48 -0400 From: "Davanum Srinivas" To: axis-dev@ws.apache.org Subject: Re: [Axis2] wrong JAX-WS handler-chain execution In-Reply-To: <79e17c220803270513r66b8d63blb35efe24ed70748f@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <79e17c220803270504m9228742q1e1e0d2667234d94@mail.gmail.com> <79e17c220803270513r66b8d63blb35efe24ed70748f@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org Misho, Can you please create an issue in JIRA and upload a test case? Yes, this looks like something that needs fixing. thanks, dims On Thu, Mar 27, 2008 at 8:13 AM, Misho Gradinkata wrote: > > Hi all, > > I'm testing Axis2-1.4/RC2 and its JAX-WS handler framework implementation. I > noticed some unconformities with the JAX-WS specification: > > I have a handler chain with Handler1, Handler2, Handler3 and Handler4. The > four of them have handleMessage(), handleFault() and close() methods as well > as init() and destroy() methods annotated with @PostConstruct and > @PreDestroy respectively. When a message arrives init() is executed on all > handlers, then on the inbound direction Handler3's handleMessage() method > throws a ProtocolException -> then the chain is reverted and handleFault() > is invoked on Handler2 and Handler1, then close() on Handler 1, 2 and 3. As > far as I understand from the JAX-WS 2.0 specification this is the expected > behavior. So here I expect all @PreDestroy methods to be executed and that's > all for the handler-chain. BUT instead I can see that an outbound execution > starts (with OUTBOUND_PROPERTY = true) and handleFault() is called (again) > on all four handlers from 4 to 1, then close() on all handlers (again) and > at the end destroy() on all handlers. > > I guess that somewhere you miss to check for errors on the inbound chain > execution and a complete outbound chain is executed no matter what happened > on the inbound direction. I think it is important to fix this. > Thanks. > > Regards, > Misho > > -- Davanum Srinivas :: http://davanum.wordpress.com --------------------------------------------------------------------- To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org For additional commands, e-mail: axis-dev-help@ws.apache.org