Return-Path: Delivered-To: apmail-ws-axis-dev-archive@www.apache.org Received: (qmail 25640 invoked from network); 26 Jul 2007 21:07:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 26 Jul 2007 21:07:20 -0000 Received: (qmail 86952 invoked by uid 500); 26 Jul 2007 21:07:21 -0000 Delivered-To: apmail-ws-axis-dev-archive@ws.apache.org Received: (qmail 86852 invoked by uid 500); 26 Jul 2007 21:07:20 -0000 Mailing-List: contact axis-cvs-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-cvs@ws.apache.org Received: (qmail 86841 invoked by uid 500); 26 Jul 2007 21:07:20 -0000 Delivered-To: apmail-ws-axis2-cvs@ws.apache.org Received: (qmail 86838 invoked by uid 99); 26 Jul 2007 21:07:20 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 Jul 2007 14:07:20 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 Jul 2007 14:07:19 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 023071A981A; Thu, 26 Jul 2007 14:06:58 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r559975 - /webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointInterfaceDescriptionImpl.java Date: Thu, 26 Jul 2007 21:06:58 -0000 To: axis2-cvs@ws.apache.org From: nthaker@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070726210659.023071A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: nthaker Date: Thu Jul 26 14:06:58 2007 New Revision: 559975 URL: http://svn.apache.org/viewvc?view=rev&rev=559975 Log: Axis2_3023 Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointInterfaceDescriptionImpl.java Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointInterfaceDescriptionImpl.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointInterfaceDescriptionImpl.java?view=diff&rev=559975&r1=559974&r2=559975 ============================================================================== --- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointInterfaceDescriptionImpl.java (original) +++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointInterfaceDescriptionImpl.java Thu Jul 26 14:06:58 2007 @@ -49,7 +49,9 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Set; //import org.apache.log4j.BasicConfigurator; +import java.util.Map; /** @see ../EndpointInterfaceDescription */ class EndpointInterfaceDescriptionImpl @@ -58,6 +60,7 @@ private EndpointDescriptionImpl parentEndpointDescription; private ArrayList operationDescriptions = new ArrayList(); + private Map> dispatchableOperations = new HashMap>(); // This may be an actual Service Endpoint Interface -OR- it may be a service implementation class that did not // specify an @WebService.endpointInterface. private Class seiClass; @@ -95,6 +98,15 @@ void addOperation(OperationDescription operation) { operationDescriptions.add(operation); + + if (!operation.isJAXWSAsyncClientMethod()) { + List operations = dispatchableOperations.get(operation.getName()); + if(operations==null) { + operations = new ArrayList(); + dispatchableOperations.put(operation.getName(), operations); + } + operations.add(operation); + } } EndpointInterfaceDescriptionImpl(Class sei, EndpointDescriptionImpl parent) { @@ -474,22 +486,14 @@ * @see org.apache.axis2.jaxws.description.EndpointInterfaceDescription#getDispatchableOperation(QName operationQName) */ public OperationDescription[] getDispatchableOperation(QName operationQName) { - OperationDescription[] returnOperations = null; - OperationDescription[] allMatchingOperations = getOperation(operationQName); - if (allMatchingOperations != null && allMatchingOperations.length > 0) { - ArrayList dispatchableOperations = - new ArrayList(); - for (OperationDescription operation : allMatchingOperations) { - if (!operation.isJAXWSAsyncClientMethod()) { - dispatchableOperations.add(operation); - } - } - - if (dispatchableOperations.size() > 0) { - returnOperations = dispatchableOperations.toArray(new OperationDescription[0]); - } - } - return returnOperations; + //FIXME:OperationDescriptionImpl creates operation qname with empty namespace. Thus using localname + //to read dispachable operation. + QName key = new QName("",operationQName.getLocalPart()); + List operations = dispatchableOperations.get(key); + if(operations!=null){ + return operations.toArray(new OperationDescription[operations.size()]); + } + return new OperationDescription[0]; } /* (non-Javadoc) * @see org.apache.axis2.jaxws.description.EndpointInterfaceDescription#getDispatchableOperations() --------------------------------------------------------------------- To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org For additional commands, e-mail: axis-cvs-help@ws.apache.org