You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ba...@apache.org on 2007/03/02 22:26:41 UTC
svn commit: r513964 - in /webservices/axis2/trunk/java/modules/metadata:
src/org/apache/axis2/jaxws/description/impl/
test/org/apache/axis2/jaxws/description/
Author: barrettj
Date: Fri Mar 2 13:26:40 2007
New Revision: 513964
URL: http://svn.apache.org/viewvc?view=rev&rev=513964
Log:
AXIS2-2286
Support for Doc/Lit/Bare operation routing in metadata layer.
Added:
webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/DocLitBareResolveOperationTests.java
Modified:
webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointInterfaceDescriptionImpl.java
webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.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=513964&r1=513963&r2=513964
==============================================================================
--- 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 Fri Mar 2 13:26:40 2007
@@ -32,6 +32,7 @@
import javax.wsdl.PortType;
import javax.xml.namespace.QName;
+import org.apache.axis2.description.AxisMessage;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisService;
import org.apache.axis2.jaxws.ExceptionFactory;
@@ -44,6 +45,7 @@
import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
import org.apache.axis2.jaxws.description.builder.MDQConstants;
import org.apache.axis2.jaxws.description.builder.MethodDescriptionComposite;
+import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
//import org.apache.log4j.BasicConfigurator;
@@ -178,12 +180,9 @@
OperationDescription operation = new OperationDescriptionImpl(mdc, this, axisOperation);
if (axisOperation == null) {
- //This axisOperation does not already exist on the AxisService, so add it now
-
- // TODO: Do we need to worry about a null AxisOperation at this level?
-
- axisService.addOperation(operation.getAxisOperation());
-
+ // This axisOperation did not already exist on the AxisService, and so was created
+ // with the OperationDescription, so we need to add the operation to the service
+ ((OperationDescriptionImpl) operation).addToAxisService(axisService);
}
if (log.isDebugEnabled())
@@ -204,9 +203,8 @@
// WebServiceRefAnnot (List) (JAXWS)
// BindingTypeAnnot (JAXWS Sec. 7.8 -- Used to set either the AS.endpoint, or AS.SoapNSUri)
// WebServiceContextAnnot (JAXWS via injection)
-
-// BasicConfigurator.resetConfiguration();
}
+
private static Method[] getSEIMethods(Class sei) {
// Per JSR-181 all methods on the SEI are mapped to operations regardless
Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java?view=diff&rev=513964&r1=513963&r2=513964
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java Fri Mar 2 13:26:40 2007
@@ -31,6 +31,7 @@
import javax.jws.Oneway;
import javax.jws.WebMethod;
+import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebParam.Mode;
import javax.jws.soap.SOAPBinding;
@@ -42,8 +43,11 @@
import javax.xml.ws.WebFault;
import org.apache.axis2.AxisFault;
+import org.apache.axis2.description.AxisMessage;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisOperationFactory;
+import org.apache.axis2.description.AxisService;
+import org.apache.axis2.jaxws.ExceptionFactory;
import org.apache.axis2.jaxws.description.EndpointDescriptionJava;
import org.apache.axis2.jaxws.description.EndpointInterfaceDescription;
import org.apache.axis2.jaxws.description.FaultDescription;
@@ -183,77 +187,131 @@
webMethodAnnotation = methodComposite.getWebMethodAnnot();
- this.axisOperation = axisOperation;
-
- //If an AxisOperation was already created for us by populateService then just use that onw
- //Otherwise, build it up here
- if (this.axisOperation == null) {
-
- try {
- if (isOneWay()) {
- axisOperation = AxisOperationFactory.getOperationDescription(WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_ONLY);
- } else {
- axisOperation = AxisOperationFactory.getOperationDescription(WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_OUT);
- }
- //TODO: There are several other MEP's, such as: OUT_ONLY, IN_OPTIONAL_OUT, OUT_IN, OUT_OPTIONAL_IN, ROBUST_OUT_ONLY,
- // ROBUST_IN_ONLY
- // Determine how these MEP's should be handled, if at all
- } catch (Exception e) {
- AxisFault ex = new AxisFault("OperationDescriptionImpl:cons - unable to build AxisOperation ");
- }
-
- if (axisOperation != null){
-
- axisOperation.setName(determineOperationQName(this.methodComposite));
- axisOperation.setSoapAction(this.getAction());
-
-
- //TODO: Determine other axisOperation values that may need to be set
- // Currently, the following values are being set on AxisOperation in
- // ServiceBuilder.populateService which we are not setting:
- // AxisOperation.setPolicyInclude()
- // AxisOperation.setWsamappingList()
- // AxisOperation.setOutputAction()
- // AxisOperation.addFaultAction()
- // AxisOperation.setFaultMessages()
-
- // TODO: The WSMToAxisServiceBuilder sets the message receiver, not sure why this is done
- // since AxisService.addOperation does this as well by setting it to a default
- // MessageReceiver...it appears that this code is also setting it to a default
- // receiver..need to understand this
-
- /*
- String messageReceiverClass = "org.apache.axis2.rpc.receivers.RPCMessageReceiver";
- if(wsmOperation.isOneWay()){
- messageReceiverClass = "org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver";
- }
- try{
- MessageReceiver msgReceiver = (MessageReceiver)Class.forName(messageReceiverClass).newInstance();
- axisOperation.setMessageReceiver(msgReceiver);
-
- }catch(Exception e){
- }
- */
-
- //TODO: Need to process the other annotations that can exist, on the server side
- // and at the method level.
- // They are, as follows:
- // WebResultAnnot (181)
- // HandlerChain
- // SoapBinding (181)
- // WebServiceRefAnnot (List) (JAXWS)
- // WebServiceContextAnnot (JAXWS via injection)
- // RequestWrapper (JAXWS)
- // ResponseWrapper (JAXWS)
- }
-
- this.axisOperation = axisOperation;
- }
-
parameterDescriptions = createParameterDescriptions();
faultDescriptions = createFaultDescriptions();
+
+ //If an AxisOperation was already created for us by populateService then just use that one
+ //Otherwise, create it
+ if (axisOperation != null) {
+ this.axisOperation = axisOperation;
+ }
+ else {
+ this.axisOperation = createAxisOperation();
+ }
}
-
+
+ /**
+ * Create an AxisOperation for this Operation. Note that the ParameterDescriptions must
+ * be created before calling this method since, for a DOC/LIT/BARE (aka UNWRAPPED) message, the
+ * ParamaterDescription is used to setup the AxisMessage correctly for use in SOAP Body-based
+ * dispatching on incoming DOC/LIT/BARE messages.
+ */
+ private AxisOperation createAxisOperation() {
+ AxisOperation newAxisOperation = null;
+ try {
+ if (isOneWay()) {
+ newAxisOperation = AxisOperationFactory.getOperationDescription(WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_ONLY);
+ } else {
+ newAxisOperation = AxisOperationFactory.getOperationDescription(WSDLConstants.WSDL20_2006Constants.MEP_URI_IN_OUT);
+ }
+ //TODO: There are several other MEP's, such as: OUT_ONLY, IN_OPTIONAL_OUT, OUT_IN, OUT_OPTIONAL_IN, ROBUST_OUT_ONLY,
+ // ROBUST_IN_ONLY
+ // Determine how these MEP's should be handled, if at all
+ } catch (Exception e) {
+ if (log.isDebugEnabled()) {
+ log.debug("Unable to build AxisOperation for OperationDescrition; caught exception.", e);
+ }
+ // TODO: NLS & RAS
+ throw ExceptionFactory.makeWebServiceException("Caught exception trying to create AxisOperation", e);
+ }
+
+ newAxisOperation.setName(determineOperationQName(this.methodComposite));
+ newAxisOperation.setSoapAction(this.getAction());
+
+ //REVIEW: Determine if other axisOperation values may need to be set
+ // Currently, the following values are being set on AxisOperation in
+ // ServiceBuilder.populateService which we are not setting:
+ // AxisOperation.setPolicyInclude()
+ // AxisOperation.setWsamappingList()
+ // AxisOperation.setOutputAction()
+ // AxisOperation.addFaultAction()
+ // AxisOperation.setFaultMessages()
+
+ // If this is a DOC/LIT/BARE operation, then set the QName of the input AxisMessage to the
+ // part for the first IN or IN/OUT non-header parameter. If there are no parameters, then don't set
+ // anything. The AxisMessage name is used to do SOAP-body based routing of DOC/LIT/BARE
+ // incoming messages.
+ if (getSoapBindingStyle() == javax.jws.soap.SOAPBinding.Style.DOCUMENT
+ && getSoapBindingUse() == javax.jws.soap.SOAPBinding.Use.LITERAL
+ && getSoapBindingParameterStyle() == javax.jws.soap.SOAPBinding.ParameterStyle.BARE) {
+ ParameterDescription[] paramDescs = getParameterDescriptions();
+ if (paramDescs != null && paramDescs.length > 0) {
+ for (ParameterDescription paramDesc : paramDescs) {
+ WebParam.Mode paramMode = paramDesc.getMode();
+ if (!paramDesc.isHeader()
+ && (paramMode == WebParam.Mode.IN || paramMode == WebParam.Mode.INOUT)) {
+ // We've found the first IN or INOUT non-header parameter, so set the AxisMessage
+ // QName based on this parameter then break out of the loop.
+ AxisMessage axisMessage =
+ newAxisOperation.getMessage(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
+ String partLocalName = paramDesc.getPartName();
+ String partNamespace = paramDesc.getTargetNamespace();
+ if (log.isDebugEnabled()) {
+ log.debug("Setting up annotation based Doc/Lit/Bare operation: " + newAxisOperation.getName()
+ + "; axisMessage: " + axisMessage + "; partLocalName: "
+ + partLocalName + "; partTNS: " + partNamespace);
+ }
+ if (axisMessage == null) {
+ // TODO: RAS & NLS
+ throw ExceptionFactory.makeWebServiceException("Could not setup Doc/Lit/Bare operation because input message is null");
+ }
+ else if (DescriptionUtils.isEmpty(partNamespace)) {
+ // TODO: RAS & NLS
+ throw ExceptionFactory.makeWebServiceException("Could not setup Doc/Lit/Bare operation because part namespace is empty");
+ }
+ else if (DescriptionUtils.isEmpty(partLocalName)) {
+ // TODO: RAS & NLS
+ throw ExceptionFactory.makeWebServiceException("Could not setup Doc/Lit/Bare operation because part local name is empty");
+ }
+ else {
+ QName partQName = new QName(partNamespace, partLocalName);
+ axisMessage.setElementQName(partQName);
+ }
+ break;
+ }
+ }
+ }
+ }
+ return newAxisOperation;
+ }
+ /**
+ * Adds the AxisOperation corresponding to this OperationDescription to the AxisService
+ * if it isn't already there.
+ * It also addes the AxisOperation to any other routing mechanisms for that AxisService:
+ * - For Doc/Lit/Bare operations it is added to the MessageElementQNameToOperationMapping
+ * @param axisService
+ */
+ void addToAxisService(AxisService axisService) {
+ AxisOperation newAxisOperation = getAxisOperation();
+ QName axisOpQName = newAxisOperation.getName();
+ if (axisService.getOperation(axisOpQName) == null) {
+ axisService.addOperation(newAxisOperation);
+ // For a Doc/Lit/Bare operation, we also need to add the element mapping
+ if (getSoapBindingStyle() == javax.jws.soap.SOAPBinding.Style.DOCUMENT
+ && getSoapBindingUse() == javax.jws.soap.SOAPBinding.Use.LITERAL
+ && getSoapBindingParameterStyle() == javax.jws.soap.SOAPBinding.ParameterStyle.BARE) {
+ AxisMessage axisMessage =
+ newAxisOperation.getMessage(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
+ if (axisMessage != null) {
+ QName elementQName = axisMessage.getElementQName();
+ if (!DescriptionUtils.isEmpty(elementQName)) {
+ axisService.addMessageElementQNameToOperationMapping(elementQName, newAxisOperation);
+ }
+ }
+ }
+ }
+ }
+
void setSEIMethod(Method method) {
if (seiMethod != null) {
// TODO: This is probably an error, but error processing logic is incorrect
Added: webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/DocLitBareResolveOperationTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/DocLitBareResolveOperationTests.java?view=auto&rev=513964
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/DocLitBareResolveOperationTests.java (added)
+++ webservices/axis2/trunk/java/modules/metadata/test/org/apache/axis2/jaxws/description/DocLitBareResolveOperationTests.java Fri Mar 2 13:26:40 2007
@@ -0,0 +1,273 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.jaxws.description;
+
+import javax.jws.WebParam;
+import javax.jws.WebService;
+
+import junit.framework.TestCase;
+import javax.jws.soap.SOAPBinding;
+import javax.xml.ws.Holder;
+import javax.xml.namespace.QName;
+
+import org.apache.axis2.description.AxisOperation;
+import org.apache.axis2.description.AxisService;
+
+/**
+ * Validate that the information needed to resolve an incoming Doc/Lit/Bare message is setup
+ * correctly via annotations.
+ */
+public class DocLitBareResolveOperationTests extends TestCase {
+ private ServiceDescription svcDesc;
+ private EndpointDescription endpointDesc;
+ private AxisService axisService;
+
+ protected void setUp() {
+ if (svcDesc == null) {
+ svcDesc = DescriptionFactory.createServiceDescription(DLBResolveOperation.class);
+ assertNotNull(svcDesc);
+ EndpointDescription[] epDescs = svcDesc.getEndpointDescriptions();
+ assertNotNull(epDescs);
+ assertEquals(1, epDescs.length);
+ endpointDesc = epDescs[0];
+ axisService = endpointDesc.getAxisService();
+ assertNotNull(axisService);
+ }
+ }
+
+
+ public void testDocLitBareSingleInParam() {
+ QName operationQName = new QName("", "op1");
+ AxisOperation axisOperationFromOpName = axisService.getOperation(operationQName);
+ assertNotNull(axisOperationFromOpName);
+
+ QName messageElementQName = new QName("org.apache.axis2.jaxws.description.DLBResolveOperation",
+ "op1param1PartName");
+ AxisOperation axisOperationFromElement = axisService.getOperationByMessageElementQName(messageElementQName);
+ assertNotNull(axisOperationFromElement);
+ assertEquals(axisOperationFromOpName, axisOperationFromElement);
+
+ QName wrongMessageElementQName = new QName("org.apache.axis2.jaxws.description.DLBResolveOperation",
+ "wrongElementName");
+ AxisOperation axisOperationFromWrongElement = axisService.getOperationByMessageElementQName(wrongMessageElementQName);
+ assertNull(axisOperationFromWrongElement);
+
+ QName wrongMessageElementNSQName = new QName("wrong.namespace",
+ "op1param1PartName");
+ AxisOperation axisOperationFromWrongElementNS = axisService.getOperationByMessageElementQName(wrongMessageElementNSQName);
+ assertNull(axisOperationFromWrongElementNS);
+
+ }
+
+ public void testDocLitBareSingleInOutParam() {
+ QName operationQName = new QName("", "op2");
+ AxisOperation axisOperationFromOpName = axisService.getOperation(operationQName);
+ assertNotNull(axisOperationFromOpName);
+
+ QName messageElementQName = new QName("org.apache.axis2.jaxws.description.DLBResolveOperation",
+ "op2param1PartName");
+ AxisOperation axisOperationFromElement = axisService.getOperationByMessageElementQName(messageElementQName);
+ assertNotNull(axisOperationFromElement);
+ assertEquals(axisOperationFromOpName, axisOperationFromElement);
+ }
+
+ public void testDocLitBareTwoInParams() {
+ QName operationQName = new QName("", "op3");
+ AxisOperation axisOperationFromOpName = axisService.getOperation(operationQName);
+ assertNotNull(axisOperationFromOpName);
+
+ QName messageElementQName = new QName("org.apache.axis2.jaxws.description.DLBResolveOperation",
+ "op3param1PartName");
+ AxisOperation axisOperationFromElement = axisService.getOperationByMessageElementQName(messageElementQName);
+ assertNotNull(axisOperationFromElement);
+ assertEquals(axisOperationFromOpName, axisOperationFromElement);
+
+ QName wrongMessageElementQName = new QName("org.apache.axis2.jaxws.description.DLBResolveOperation",
+ "op3param2PartName");
+ AxisOperation axisOperationFromWrongElement = axisService.getOperationByMessageElementQName(wrongMessageElementQName);
+ assertNull(axisOperationFromWrongElement);
+
+ }
+
+ public void testDocLitBareOutParamOnly() {
+ QName operationQName = new QName("", "op4");
+ AxisOperation axisOperationFromOpName = axisService.getOperation(operationQName);
+ assertNotNull(axisOperationFromOpName);
+
+ QName messageElementQName = new QName("org.apache.axis2.jaxws.description.DLBResolveOperation",
+ "op4param1PartName");
+ AxisOperation axisOperationFromElement = axisService.getOperationByMessageElementQName(messageElementQName);
+ assertNull(axisOperationFromElement);
+
+ }
+
+ public void testDocLitBareOutParamFirst() {
+ QName operationQName = new QName("", "op5");
+ AxisOperation axisOperationFromOpName = axisService.getOperation(operationQName);
+ assertNotNull(axisOperationFromOpName);
+
+ QName messageElementQName = new QName("org.apache.axis2.jaxws.description.DLBResolveOperation",
+ "op5param2PartName");
+ AxisOperation axisOperationFromElement = axisService.getOperationByMessageElementQName(messageElementQName);
+ assertNotNull(axisOperationFromElement);
+ assertEquals(axisOperationFromOpName, axisOperationFromElement);
+
+ QName wrongMessageElementQName = new QName("org.apache.axis2.jaxws.description.DLBResolveOperation",
+ "op5param1PartName");
+ AxisOperation axisOperationFromWrongElement = axisService.getOperationByMessageElementQName(wrongMessageElementQName);
+ assertNull(axisOperationFromWrongElement);
+
+ }
+
+ public void testDocLitBareDefaultPartAnno() {
+ QName operationQName = new QName("", "op6");
+ AxisOperation axisOperationFromOpName = axisService.getOperation(operationQName);
+ assertNotNull(axisOperationFromOpName);
+
+ QName messageElementQName = new QName("http://description.jaxws.axis2.apache.org/",
+ "op6");
+ AxisOperation axisOperationFromElement = axisService.getOperationByMessageElementQName(messageElementQName);
+ assertNotNull(axisOperationFromElement);
+ assertEquals(axisOperationFromOpName, axisOperationFromElement);
+
+ }
+
+ public void testDocLitBareNoParams() {
+ QName operationQName = new QName("", "op7");
+ AxisOperation axisOperationFromOpName = axisService.getOperation(operationQName);
+ assertNotNull(axisOperationFromOpName);
+
+ QName messageElementQName = new QName("http://description.jaxws.axis2.apache.org/",
+ "op7");
+ AxisOperation axisOperationFromElement = axisService.getOperationByMessageElementQName(messageElementQName);
+ assertNull(axisOperationFromElement);
+
+ }
+
+ public void testDocLitBareHeaderParamFirst() {
+ QName operationQName = new QName("", "op8");
+ AxisOperation axisOperationFromOpName = axisService.getOperation(operationQName);
+ assertNotNull(axisOperationFromOpName);
+
+ QName messageElementQName = new QName("org.apache.axis2.jaxws.description.DLBResolveOperation",
+ "op8param2PartName");
+ AxisOperation axisOperationFromElement = axisService.getOperationByMessageElementQName(messageElementQName);
+ assertNotNull(axisOperationFromElement);
+ assertEquals(axisOperationFromOpName, axisOperationFromElement);
+
+ QName wrongMessageElementQName = new QName("org.apache.axis2.jaxws.description.DLBResolveOperation",
+ "op8param1PartName");
+ AxisOperation axisOperationFromWrongElement = axisService.getOperationByMessageElementQName(wrongMessageElementQName);
+ assertNull(axisOperationFromWrongElement);
+ }
+
+
+ public void testDocLitWrapped() {
+ QName operationQName = new QName("", "op10");
+ AxisOperation axisOperationFromOpName = axisService.getOperation(operationQName);
+ assertNotNull(axisOperationFromOpName);
+
+ QName messageElementQName = new QName("org.apache.axis2.jaxws.description.DLBResolveOperation",
+ "op10param1PartName");
+ AxisOperation axisOperationFromElement = axisService.getOperationByMessageElementQName(messageElementQName);
+ assertNull(axisOperationFromElement);
+ }
+}
+
+@WebService
+class DLBResolveOperation {
+
+ @SOAPBinding(style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL,
+ parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ public void op1(
+ @WebParam(targetNamespace="org.apache.axis2.jaxws.description.DLBResolveOperation",
+ partName="op1param1PartName")
+ int param1) {}
+
+ @SOAPBinding(style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL,
+ parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ public void op2(
+ @WebParam(targetNamespace="org.apache.axis2.jaxws.description.DLBResolveOperation",
+ partName="op2param1PartName",
+ mode=WebParam.Mode.INOUT)
+ Holder<Integer> param1) {}
+
+ @SOAPBinding(style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL,
+ parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ public void op3(
+ @WebParam(targetNamespace="org.apache.axis2.jaxws.description.DLBResolveOperation",
+ partName="op3param1PartName",
+ mode=WebParam.Mode.INOUT)
+ Holder<Integer> param1,
+ @WebParam(targetNamespace="org.apache.axis2.jaxws.description.DLBResolveOperation",
+ partName="op3param2PartName",
+ mode=WebParam.Mode.IN)
+ int param2) {}
+
+ @SOAPBinding(style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL,
+ parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ public void op4(
+ @WebParam(targetNamespace="org.apache.axis2.jaxws.description.DLBResolveOperation",
+ partName="op4param1PartName",
+ mode=WebParam.Mode.OUT)
+ Holder<Integer> param1) {}
+
+ @SOAPBinding(style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL,
+ parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ public void op5(
+ @WebParam(targetNamespace="org.apache.axis2.jaxws.description.DLBResolveOperation",
+ partName="op5param1PartName",
+ mode=WebParam.Mode.OUT)
+ Holder<Integer> param1,
+ @WebParam(targetNamespace="org.apache.axis2.jaxws.description.DLBResolveOperation",
+ partName="op5param2PartName",
+ mode=WebParam.Mode.IN)
+ int param2) {}
+
+ @SOAPBinding(style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL,
+ parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ public void op6(
+ @WebParam
+ int param1) {}
+
+ @SOAPBinding(style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL,
+ parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ public void op7() {}
+
+ @SOAPBinding(style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL,
+ parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ public void op8(
+ @WebParam(targetNamespace="org.apache.axis2.jaxws.description.DLBResolveOperation",
+ partName="op8param1PartName",
+ mode=WebParam.Mode.IN,
+ header=true)
+ Integer param1,
+ @WebParam(targetNamespace="org.apache.axis2.jaxws.description.DLBResolveOperation",
+ partName="op8param2PartName",
+ mode=WebParam.Mode.IN)
+ int param2) {}
+
+ @SOAPBinding(style=SOAPBinding.Style.DOCUMENT, use=SOAPBinding.Use.LITERAL,
+ parameterStyle=SOAPBinding.ParameterStyle.WRAPPED)
+ public void op10(
+ @WebParam(targetNamespace="org.apache.axis2.jaxws.description.DLBResolveOperation",
+ partName="op10param1PartName")
+ int param1) {}
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org