Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 95127 invoked from network); 19 Dec 2007 04:31:12 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 19 Dec 2007 04:31:12 -0000 Received: (qmail 53524 invoked by uid 500); 19 Dec 2007 04:31:00 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 53052 invoked by uid 500); 19 Dec 2007 04:30:59 -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 53038 invoked by uid 99); 19 Dec 2007 04:30:59 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Dec 2007 20:30:59 -0800 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of amilasuriarachchi@gmail.com designates 209.85.198.188 as permitted sender) Received: from [209.85.198.188] (HELO rv-out-0910.google.com) (209.85.198.188) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 Dec 2007 04:30:37 +0000 Received: by rv-out-0910.google.com with SMTP id c24so2154257rvf.28 for ; Tue, 18 Dec 2007 20:30:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type; bh=GVvk7outNmnulDCgKy7Dy0KXOgBkVHnuQR0v6cs8Pgc=; b=fHAmH7kx8z3Cx0810PCRwwhbHPvdAvjlDLwAMpMszHTcRpfwDjwFxC81VumU7k0YWmtD+eaon7nZxOFzrFGPokTc+j6c/Exi7OX8rAa1Uh5oxsuaLRlGZyHN9Dm0fq3a6PKewM+js1CcxGDVDA2zNZ6VMkKK0qO/N8YSqasebnY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=n488XaGug8dHMfztdfww07cdAdHkm+32fSXIrx78zjntXVIVM29AkHRzKfPI4ZyTHfqa2aM4ELDTdbUWaFd4oEqkB/X+/aoEhBkTY/TzKnM4CLENdPu+VSRi6mQZ/E744GWJmU1OgRriVw0QJpT3fWuaNfJ/s8cohmEdPGyS5Xw= Received: by 10.140.249.20 with SMTP id w20mr3441129rvh.7.1198038640723; Tue, 18 Dec 2007 20:30:40 -0800 (PST) Received: by 10.141.37.12 with HTTP; Tue, 18 Dec 2007 20:30:40 -0800 (PST) Message-ID: <60708f4b0712182030r33b0957cifc28f6ad7a5066a3@mail.gmail.com> Date: Wed, 19 Dec 2007 10:00:40 +0530 From: "Amila Suriarachchi" To: axis-dev@ws.apache.org Subject: [Axis2] Dispatch order MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_14339_1845488.1198038640717" X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_14339_1845488.1198038640717 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline hi all, 1. Here is a code segment found in the org.apache.axis2.engine.DispatchPhase checkPostConditions method. if (operation == null && JavaUtils.isTrue(service.getParameterValue( AxisService.SUPPORT_SINGLE_OP))) { Iterator ops = service.getOperations(); // If there's exactly one, that's the one we want. If there's more, forget it. if (ops.hasNext()) { operation = (AxisOperation)ops.next(); if (ops.hasNext()) { operation = null; } } msgContext.setAxisOperation(operation); } What it basically doing is that dispatch the operation if the AxisService.SUPPORT_SINGLE_OP parameter is set and there is only one operation on it. Isn't this dispatcher supposed to run just after service being dispatched? i.e as the first dispatcher of the Tranport phase. Think about the scenario where this operation is engaged security. in this case it should dispatched before the security. I think any dispatcher which is possible to run before the security should run before it. 2. RequestURIBasedDispatcher and SOAPActionBasedDispatcher are both in Transport and Dispatch phases. Is there any reason for this? or is it an obsolete code to keep this in Dispatch phase? Shall I do the above changes? thanks, Amila. -- Amila Suriarachchi, WSO2 Inc. ------=_Part_14339_1845488.1198038640717 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline hi all,

1. Here is a code segment found in the org.apache.axis2.engine.DispatchPhase
checkPostConditions method.

if (operation == null &&
                JavaUtils.isTrue(service.getParameterValue (AxisService.SUPPORT_SINGLE_OP))) {
            Iterator ops = service.getOperations();
            // If there's exactly one, that's the one we want.  If there's more, forget it.
            if (ops.hasNext ()) {
                operation = (AxisOperation)ops.next();
                if (ops.hasNext()) {
                    operation = null;
                }
            }
            msgContext.setAxisOperation (operation);
        }

What it basically doing is that dispatch the operation if the AxisService.SUPPORT_SINGLE_OP parameter is set and
there is only one operation on it.
Isn't this dispatcher supposed to run just after service being dispatched? i.e as the first dispatcher of the Tranport phase.

Think about the scenario where this operation is engaged security. in this case it should dispatched before the security.

I think any dispatcher which is possible to run before the security should run before it.

2. RequestURIBasedDispatcher and SOAPActionBasedDispatcher are both in Transport and Dispatch phases.
Is there any reason for this? or is it an obsolete code to keep this in Dispatch phase?

Shall I do the above changes?

thanks,
Amila.




--
Amila Suriarachchi,
WSO2 Inc. ------=_Part_14339_1845488.1198038640717--