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 2006/10/12 03:44:57 UTC
svn commit: r463099 - in /webservices/axis2/trunk/java/modules/jaxws:
src/org/apache/axis2/jaxws/description/
src/org/apache/axis2/jaxws/marshaller/impl/
test/org/apache/axis2/jaxws/description/
Author: barrettj
Date: Wed Oct 11 18:44:57 2006
New Revision: 463099
URL: http://svn.apache.org/viewvc?view=rev&rev=463099
Log:
Add JAXWS defaults for WebParam annotation. Indcludes support for Holder-related elements.
Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescription.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/MethodMarshallerImpl.java
webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationServiceImplDescriptionTests.java
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java?view=diff&rev=463099&r1=463098&r2=463099
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java Wed Oct 11 18:44:57 2006
@@ -241,8 +241,8 @@
* @return
*/
// FIXME: This is confusing; some getOperations use the QName from the WSDL or annotation; this one uses the java method name; rename this signature I think; add on that takes a String but does a QName lookup against the WSDL/Annotation
- public OperationDescription[] getOperation(String javaMethodName) {
- if (javaMethodName == null) {
+ public OperationDescription[] getOperationForJavaMethod(String javaMethodName) {
+ if (DescriptionUtils.isEmpty(javaMethodName)) {
return null;
}
@@ -257,6 +257,26 @@
return null;
else
return matchingOperations.toArray(new OperationDescription[0]);
+ }
+
+ /**
+ * Return the OperationDesription (only one) corresponding to the OperationName passed in.
+ * @param operationName
+ * @return
+ */
+ public OperationDescription getOperation(String operationName) {
+ if (DescriptionUtils.isEmpty(operationName)) {
+ return null;
+ }
+
+ OperationDescription matchingOperation = null;
+ for (OperationDescription operation:getOperations()) {
+ if (operationName.equals(operation.getWebMethodOperationName())) {
+ matchingOperation = operation;
+ break;
+ }
+ }
+ return matchingOperation;
}
public OperationDescription[] getOperations() {
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java?view=diff&rev=463099&r1=463098&r2=463099
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java Wed Oct 11 18:44:57 2006
@@ -20,6 +20,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
+import java.lang.reflect.Type;
import java.util.ArrayList;
import javax.jws.Oneway;
@@ -93,6 +94,7 @@
private AxisOperation axisOperation;
private QName operationName;
private Method seiMethod;
+ private ParameterDescription[] parameterDescriptions;
// ===========================================
// ANNOTATION related information
@@ -130,7 +132,6 @@
// Default value per JSR-181 MR Sec 4.7 "Annotation: javax.jws.soap.SOAPBinding" pg 28
public static final javax.jws.soap.SOAPBinding.ParameterStyle SOAPBinding_ParameterStyle_DEFAULT = javax.jws.soap.SOAPBinding.ParameterStyle.WRAPPED;
-
// ANNOTATION: @WebMethod
private WebMethod webMethodAnnotation;
private String webMethodOperationName;
@@ -146,7 +147,7 @@
private WebParam[] webParamAnnotations;
private String[] webParamNames;
private Mode[] webParamMode;
- private String[] webParamTNS;
+ private String[] webParamTargetNamespace;
// ANNOTATION: @WebResult
@@ -164,7 +165,7 @@
// TODO: Look for WebMethod anno; get name and action off of it
parentEndpointInterfaceDescription = parent;
setSEIMethod(method);
- webMethodAnnotation = seiMethod.getAnnotation(WebMethod.class);
+
this.operationName = new QName(getWebMethodOperationName());
}
@@ -175,11 +176,15 @@
}
public void setSEIMethod(Method method) {
- if (seiMethod != null)
+ if (seiMethod != null) {
// TODO: This is probably an error, but error processing logic is incorrect
throw new UnsupportedOperationException("Can not set an SEI method once it has been set.");
- else
+ }
+ else {
seiMethod = method;
+ webMethodAnnotation = seiMethod.getAnnotation(WebMethod.class);
+ parameterDescriptions = createParameterDescriptions();
+ }
}
public EndpointInterfaceDescription getEndpointInterfaceDescription() {
@@ -226,6 +231,18 @@
// TODO: WSDL may need to be considered in this check as well
return getSoapBindingParameterStyle() == javax.jws.soap.SOAPBinding.ParameterStyle.WRAPPED;
}
+
+ private ParameterDescription[] createParameterDescriptions() {
+ Class[] parameters = seiMethod.getParameterTypes();
+ Type[] paramaterTypes = seiMethod.getGenericParameterTypes();
+ Annotation[][] annotations = seiMethod.getParameterAnnotations();
+ ArrayList<ParameterDescription> buildParameterList = new ArrayList<ParameterDescription>();
+ for(int i = 0; i < parameters.length; i++) {
+ ParameterDescription paramDesc = new ParameterDescription(i, parameters[i], paramaterTypes[i], annotations[i], this);
+ buildParameterList.add(paramDesc);
+ }
+ return buildParameterList.toArray(new ParameterDescription[buildParameterList.size()]);
+ }
// =====================================
// ANNOTATION: WebMethod
@@ -462,69 +479,77 @@
// ===========================================
// ANNOTATION: WebParam
// ===========================================
- // TODO: Should this annotation be moved to ParameterDescription
- WebParam[] getWebParam() {
- if (webParamAnnotations == null) {
- Annotation[][] paramAnnotation = seiMethod.getParameterAnnotations();
- ArrayList<WebParam> webParamList = new ArrayList<WebParam>();
- for(Annotation[] pa:paramAnnotation){
- for(Annotation webParam:pa){
- if(webParam.annotationType() == WebParam.class){
- webParamList.add((WebParam)webParam);
- }
+ // Note that this annotation is handled by the ParameterDescripton.
+ // Methods are provided on OperationDescription as convenience methods.
+ public ParameterDescription[] getParameterDescriptions() {
+ return parameterDescriptions;
+ }
+
+ public ParameterDescription getParameterDescription(String parameterName) {
+ // TODO: Validation: For BARE paramaterUse, only a single IN our INOUT paramater and a single output (either return or OUT or INOUT) is allowed
+ // Per JSR-224, Sec 3.6.2.2, pg 37
+ ParameterDescription matchingParamDesc = null;
+ if (parameterName != null && !parameterName.equals("")) {
+ for (ParameterDescription paramDesc:parameterDescriptions) {
+ if (parameterName.equals(paramDesc.getWebParamName())) {
+ matchingParamDesc = paramDesc;
+ break;
}
}
- webParamAnnotations = webParamList.toArray(new WebParam[0]);
}
- return webParamAnnotations;
+ return matchingParamDesc;
+ }
+
+ public ParameterDescription getParameterDescription(int parameterNumber) {
+ return parameterDescriptions[parameterNumber];
}
public String[] getWebParamNames() {
if (webParamNames == null) {
ArrayList<String> buildNames = new ArrayList<String>();
- WebParam[] webParams = getWebParam();
- for (WebParam currentParam:webParams) {
- buildNames.add(currentParam.name());
+ ParameterDescription[] paramDescs = getParameterDescriptions();
+ for (ParameterDescription currentParamDesc:paramDescs) {
+ buildNames.add(currentParamDesc.getWebParamName());
}
webParamNames = buildNames.toArray(new String[0]);
}
return webParamNames;
-
}
- public String[] getWebParamTNS(){
- if (webParamTNS == null) {
- ArrayList<String> buildNames = new ArrayList<String>();
- WebParam[] webParams = getWebParam();
- for (WebParam currentParam:webParams) {
- buildNames.add(currentParam.targetNamespace());
+ public String[] getWebParamTargetNamespaces(){
+ if (webParamTargetNamespace == null) {
+ ArrayList<String> buildTargetNS = new ArrayList<String>();
+ ParameterDescription[] paramDescs = getParameterDescriptions();
+ for (ParameterDescription currentParamDesc:paramDescs) {
+ buildTargetNS.add(currentParamDesc.getWebParamTargetNamespace());
}
- webParamTNS = buildNames.toArray(new String[0]);
+ webParamTargetNamespace = buildTargetNS.toArray(new String[0]);
+ }
+ return webParamTargetNamespace;
+ }
+
+ public String getWebParamTargetNamespace(String name){
+ String returnTargetNS = null;
+ ParameterDescription paramDesc = getParameterDescription(name);
+ if (paramDesc != null) {
+ returnTargetNS = paramDesc.getWebParamTargetNamespace();
}
- return webParamTNS;
+ return returnTargetNS;
}
+
public Mode[] getWebParamModes(){
if(webParamMode == null){
ArrayList<Mode> buildModes = new ArrayList<Mode>();
- WebParam[] webParams = getWebParam();
- for (WebParam currentParam:webParams){
- buildModes.add(currentParam.mode());
- }
+ ParameterDescription[] paramDescs = getParameterDescriptions();
+ for (ParameterDescription currentParamDesc:paramDescs) {
+ buildModes.add(currentParamDesc.getWebParamMode());
+ }
webParamMode = buildModes.toArray(new Mode[0]);
}
return webParamMode;
}
- public String getWebParamTNS(String name){
- WebParam[] webParams = getWebParam();
- for (WebParam currentParam:webParams){
- if(currentParam.name().equals(name)){
- return currentParam.targetNamespace();
- }
- }
- return null;
- }
-
+
// ===========================================
// ANNOTATION: WebResult
// ===========================================
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescription.java?view=diff&rev=463099&r1=463098&r2=463099
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescription.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ParameterDescription.java Wed Oct 11 18:44:57 2006
@@ -18,6 +18,17 @@
package org.apache.axis2.jaxws.description;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.GenericDeclaration;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.lang.reflect.TypeVariable;
+
+import javax.jws.WebParam;
+import javax.jws.soap.SOAPBinding;
+
+import org.apache.axis2.jaxws.description.builder.WebParamAnnot;
+
/**
*
*/
@@ -31,7 +42,6 @@
JSR-181 Annotations:
@WebParam(name, targetNamespace, mode, header, partName) [Input, Output]
-@WebResult(name, targetNamespace, header, partName) [Output only?]
TBD
WSDL Elements: TBD
@@ -42,5 +52,179 @@
*/
public class ParameterDescription {
-
+ private OperationDescription parentOperationDescription;
+ private Class parameterType;
+ private ParameterizedType parameterGenericType;
+ // 0-based number of the parameter in the argument list
+ private int parameterNumber = -1;
+
+ // ANNOTATION: @WebMethod
+ private WebParam webParamAnnotation;
+ private String webParamName;
+ private String webParamPartName;
+ public static final String WebParam_TargetNamespace_DEFAULT = "";
+ private String webParamTargetNamespace;
+ private WebParam.Mode webParamMode;
+ public static final Boolean WebParam_Header_DEFAULT = new Boolean(false);
+ private Boolean webParamHeader;
+
+ ParameterDescription(int parameterNumber, Class parameterType, Type parameterGenericType, Annotation[] parameterAnnotations, OperationDescription parent) {
+ this.parameterNumber = parameterNumber;
+ this.parentOperationDescription = parent;
+ this.parameterType = parameterType;
+ // The Type argument could be a Type (if the parameter is a Paramaterized Generic) or
+ // just a Class (if it is not). We only need to keep track of Paramaterized Type information.
+ if (ParameterizedType.class.isInstance(parameterGenericType)) {
+ this.parameterGenericType = (ParameterizedType) parameterGenericType;
+ }
+ findWebParamAnnotation(parameterAnnotations);
+ }
+
+ private void findWebParamAnnotation(Annotation[] annotations) {
+ for (Annotation checkAnnotation:annotations) {
+ // REVIEW: This may not work with the MDQInput. From the java.lang.annotation.Annotation interface
+ // javadoc: "Note that an interface that manually extends this one does not define an annotation type."
+ if (checkAnnotation.annotationType() == WebParam.class) {
+ webParamAnnotation = (WebParam) checkAnnotation;
+ }
+ }
+ }
+
+ public OperationDescription getOperationDescription() {
+ return parentOperationDescription;
+ }
+
+ public Class getParameterType() {
+ return parameterType;
+ }
+
+ /**
+ * For a non-Holder type, returns the parameter class. For a Holder<T> type, returns the class of T
+ * @return
+ */
+ public Class getParameterActualType() {
+ if (isHolderType() && parameterGenericType != null) {
+ // For types of Holder<T>, return the class associated with T
+ return (Class) parameterGenericType.getActualTypeArguments()[0];
+ }
+ else {
+ return parameterType;
+ }
+
+ }
+
+ public boolean isHolderType() {
+ // Holder types are defined by JSR-224 JAX-WS 2.0, Sec 2.3.3, pg 16
+ boolean returnValue = false;
+ if (parameterGenericType != null && ParameterizedType.class.isInstance(parameterGenericType)) {
+ if (parameterGenericType.getRawType() == javax.xml.ws.Holder.class) {
+ returnValue = true;
+ }
+ }
+ return returnValue;
+ }
+
+ // =====================================
+ // ANNOTATION: WebParam
+ // =====================================
+ WebParam getWebParam() {
+ return webParamAnnotation;
+ }
+
+ public String getWebParamName() {
+ if (webParamName == null) {
+ if (getWebParam() != null && !DescriptionUtils.isEmpty(getWebParam().name())) {
+ webParamName = getWebParam().name();
+ }
+ else if (getOperationDescription().getSoapBindingStyle() == SOAPBinding.Style.DOCUMENT
+ && getOperationDescription().getSoapBindingParameterStyle() == SOAPBinding.ParameterStyle.BARE) {
+ // Defaul per JSR-181 MR Sec 4.4.1, pg 19
+ // TODO: Validation: For BARE paramaterUse, only a single IN our INOUT paramater and a single output (either return or OUT or INOUT) is allowed
+ // Per JSR-224, Sec 3.6.2.2, pg 37
+ webParamName = getOperationDescription().getWebMethodOperationName();
+ }
+ else {
+ // Default per JSR-181 MR Sec 4.4.1, pg 20
+ // Return "argN" where N is the index of the parameter in the method signature
+ webParamName = "arg" + parameterNumber;
+ }
+ }
+ return webParamName;
+ }
+
+ public String getWebParamPartName() {
+ if (webParamPartName == null) {
+ if (getWebParam() != null && !DescriptionUtils.isEmpty(getWebParam().partName())) {
+ webParamPartName = getWebParam().partName();
+ }
+ else {
+ // Default per JSR-181 MR Sec 4.4.1, pg 20
+ webParamPartName = getWebParamName();
+ }
+ }
+ return webParamPartName;
+ }
+
+ public String getWebParamTargetNamespace() {
+ if (webParamTargetNamespace == null) {
+ if (getWebParam() != null && !DescriptionUtils.isEmpty(getWebParam().targetNamespace())) {
+ webParamTargetNamespace = getWebParam().targetNamespace();
+ }
+ else if (getOperationDescription().getSoapBindingStyle() == SOAPBinding.Style.DOCUMENT
+ && getOperationDescription().getSoapBindingParameterStyle() == SOAPBinding.ParameterStyle.WRAPPED
+ && !getWebParamHeader()) {
+ // Defaul per JSR-181 MR Sec 4.4.1, pg 20
+ webParamTargetNamespace = WebParam_TargetNamespace_DEFAULT;
+ }
+ else {
+ // Default per JSR-181 MR Sec 4.4.1, pg 20
+ webParamTargetNamespace = getOperationDescription().getEndpointInterfaceDescription().getEndpointDescription().getWebServiceTargetNamespace();
+ }
+ }
+ return webParamTargetNamespace;
+ }
+
+ public WebParam.Mode getWebParamMode() {
+ if (webParamMode == null) {
+ // REVIEW: Is the following correct?
+ // Interesting conundrum here:
+ // Because WebParam.mode has a default value, it will always return something if the
+ // annotation is present. That value is currently Mode.IN. However, that default is only
+ // correct for a non-Holder Type; the correct default for a Holder Type is Mode.INOUT. Furthermore,
+ // there's no way (I can tell) to differentiate if the setting for mode() was specified or defaulted,
+ // so there's no way to tell if the value is defaulted to IN or explicitly specified IN by the annotation.
+ // The conundrum is: Do we return the value from the annotation, or do we return the default value based on the
+ // type. For now, for a Holder type that has a value of IN, we reset the value to INOUT.
+ // That means even if WebParam.mode=IN was explicitly set, it will be overridden to INOUT.
+ // The default values are from JSR-181 MR Sec 4.4.1, pg 20
+
+ // Unlike a String value, if the annotation is present, it will return a usable default value as defined by
+ // the Annotation. That is currently Mode.IN
+ if (getWebParam() != null) {
+ webParamMode = getWebParam().mode();
+ }
+ else {
+ webParamMode = WebParam.Mode.IN;
+ }
+
+ if (isHolderType() && webParamMode == WebParam.Mode.IN) {
+ // Default per JSR-181 MR Sec 4.4.1, pg 20
+ webParamMode = WebParam.Mode.INOUT;
+ }
+ }
+ return webParamMode;
+ }
+
+ public boolean getWebParamHeader() {
+ if (webParamHeader == null) {
+ // Unlike a String value, if the annotation is present, it will return a usable default value.
+ if (getWebParam() != null) {
+ webParamHeader = getWebParam().header();
+ }
+ else {
+ webParamHeader = WebParam_Header_DEFAULT;
+ }
+ }
+ return webParamHeader.booleanValue();
+ }
}
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/MethodMarshallerImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/MethodMarshallerImpl.java?view=diff&rev=463099&r1=463098&r2=463099
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/MethodMarshallerImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/MethodMarshallerImpl.java Wed Oct 11 18:44:57 2006
@@ -214,12 +214,6 @@
ArrayList<Class> actualTypes = getInputTypes();
int i =0;
- //if no webParam defined then lets get default names.
- if(paramNames.size() == 0 && paramValues.size()>0){
- while(i< paramValues.size()){
- paramNames.add(DEFAULT_ARG + i++);
- }
- }
if(paramNames.size() != paramValues.size()){
throw ExceptionFactory.makeWebServiceException(Messages.getMessage("InvalidWebParams"));
}
Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationServiceImplDescriptionTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationServiceImplDescriptionTests.java?view=diff&rev=463099&r1=463098&r2=463099
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationServiceImplDescriptionTests.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/description/AnnotationServiceImplDescriptionTests.java Wed Oct 11 18:44:57 2006
@@ -20,9 +20,11 @@
import javax.jws.Oneway;
import javax.jws.WebMethod;
+import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
+import javax.xml.ws.Holder;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
@@ -58,13 +60,13 @@
assertNotNull(endpointIntfDesc);
assertEquals(endpointIntfDesc.getSEIClass(), EchoPort.class);
- OperationDescription[] operations = endpointIntfDesc.getOperation("badMethodName");
+ OperationDescription[] operations = endpointIntfDesc.getOperationForJavaMethod("badMethodName");
assertNull(operations);
- operations = endpointIntfDesc.getOperation("");
+ operations = endpointIntfDesc.getOperationForJavaMethod("");
assertNull(operations);
- operations = endpointIntfDesc.getOperation((String) null);
+ operations = endpointIntfDesc.getOperationForJavaMethod((String) null);
assertNull(operations);
- operations = endpointIntfDesc.getOperation("echo");
+ operations = endpointIntfDesc.getOperationForJavaMethod("echo");
assertNotNull(operations);
assertEquals(operations.length, 1);
assertEquals(operations[0].getJavaMethodName(), "echo");
@@ -127,7 +129,7 @@
// Test for overloaded methods
// SEI defines two Java methods with this name
- OperationDescription[] operations = endpointIntfDesc.getOperation("invokeAsync");
+ OperationDescription[] operations = endpointIntfDesc.getOperationForJavaMethod("invokeAsync");
assertNotNull(operations);
assertEquals(operations.length, 2);
assertEquals(operations[0].getJavaMethodName(), "invokeAsync");
@@ -202,7 +204,7 @@
// Test for a method with parameters of primitive types. Note
// this method IS overloaded
- operations = endpointIntfDesc.getOperation("twoWayHolderAsync");
+ operations = endpointIntfDesc.getOperationForJavaMethod("twoWayHolderAsync");
assertNotNull(operations);
assertEquals(operations.length, 2);
assertEquals(operations[0].getJavaMethodName(), "twoWayHolderAsync");
@@ -267,7 +269,7 @@
}
// Test for a one-way, void method with no parameters which also is not overloaded
- operations = endpointIntfDesc.getOperation("oneWayVoid");
+ operations = endpointIntfDesc.getOperationForJavaMethod("oneWayVoid");
assertNotNull(operations);
assertEquals(operations.length, 1);
assertEquals(operations[0].getJavaMethodName(), "oneWayVoid");
@@ -287,7 +289,7 @@
assertFalse(operations[0].getWebResultHeader());
// Test two-way method for lack of OneWay annotation and WebResult annotation
- operations = endpointIntfDesc.getOperation("invoke");
+ operations = endpointIntfDesc.getOperationForJavaMethod("invoke");
assertNotNull(operations);
assertEquals(1, operations.length);
assertEquals(false, operations[0].isOneWay());
@@ -311,7 +313,7 @@
assertEquals(javax.jws.soap.SOAPBinding.Use.LITERAL, testEndpointInterfaceDesc.getSoapBindingUse());
assertEquals(javax.jws.soap.SOAPBinding.ParameterStyle.WRAPPED, testEndpointInterfaceDesc.getSoapBindingParameterStyle());
- OperationDescription operationDesc = testEndpointInterfaceDesc.getOperation("echoString")[0];
+ OperationDescription operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("echoString")[0];
// Verify WebResult annotation default values for DOC/LIT/WRAPPED from a defaulted SOAPBinding
assertNull(operationDesc.getWebResult());
assertEquals("return", operationDesc.getWebResultName());
@@ -339,7 +341,7 @@
assertEquals(javax.jws.soap.SOAPBinding.Use.ENCODED, testEndpointInterfaceDesc.getSoapBindingUse());
assertEquals(javax.jws.soap.SOAPBinding.ParameterStyle.BARE, testEndpointInterfaceDesc.getSoapBindingParameterStyle());
- OperationDescription operationDesc = testEndpointInterfaceDesc.getOperation("echoString")[0];
+ OperationDescription operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("echoString")[0];
assertNotNull(operationDesc);
assertNull(operationDesc.getSoapBinding());
assertEquals(javax.jws.soap.SOAPBinding.Style.DOCUMENT, operationDesc.getSoapBindingStyle());
@@ -354,7 +356,7 @@
assertEquals(javax.jws.soap.SOAPBinding.Use.LITERAL, testEndpointInterfaceDesc.getSoapBindingUse());
assertEquals(javax.jws.soap.SOAPBinding.ParameterStyle.WRAPPED, testEndpointInterfaceDesc.getSoapBindingParameterStyle());
- operationDesc = testEndpointInterfaceDesc.getOperation("echoString")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("echoString")[0];
assertNotNull(operationDesc);
assertNotNull(operationDesc.getSoapBinding());
assertEquals(javax.jws.soap.SOAPBinding.Style.DOCUMENT, operationDesc.getSoapBindingStyle());
@@ -366,7 +368,7 @@
// Test paramaterStyle = WRAPPED set a the type level with various combinations of method annotation setting
EndpointInterfaceDescription testEndpointInterfaceDesc = getEndpointInterfaceDesc(DefaultReqRspWrapperTestImpl.class);
- OperationDescription operationDesc = testEndpointInterfaceDesc.getOperation("wrappedParams")[0];
+ OperationDescription operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("wrappedParams")[0];
assertNotNull(operationDesc);
assertEquals("wrappedParams", operationDesc.getRequestWrapperLocalName());
assertEquals("wrappedParamsResponse", operationDesc.getResponseWrapperLocalName());
@@ -382,7 +384,7 @@
assertEquals("", operationDesc.getWebResultTargetNamespace());
assertFalse(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("bareParams")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("bareParams")[0];
assertNotNull(operationDesc);
assertNull(operationDesc.getRequestWrapperLocalName());
assertNull(operationDesc.getResponseWrapperLocalName());
@@ -401,7 +403,7 @@
// Test paramaterStyle = BARE set a the type level with various combinations of method annotation setting
testEndpointInterfaceDesc = getEndpointInterfaceDesc(DefaultReqRspWrapperBareTestImpl.class);
- operationDesc = testEndpointInterfaceDesc.getOperation("wrappedParams")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("wrappedParams")[0];
assertNotNull(operationDesc);
assertEquals("wrappedParams", operationDesc.getRequestWrapperLocalName());
assertEquals("wrappedParamsResponse", operationDesc.getResponseWrapperLocalName());
@@ -409,7 +411,7 @@
assertEquals("org.apache.axis2.jaxws.description.WrappedParams", operationDesc.getRequestWrapperClassName());
assertEquals("org.apache.axis2.jaxws.description.WrappedParams", operationDesc.getResponseWrapperClassName());
- operationDesc = testEndpointInterfaceDesc.getOperation("bareParams")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("bareParams")[0];
assertNotNull(operationDesc);
assertNull(operationDesc.getRequestWrapperLocalName());
assertNull(operationDesc.getResponseWrapperLocalName());
@@ -421,7 +423,7 @@
public void testReqRspWrapper() {
EndpointInterfaceDescription testEndpointInterfaceDesc = getEndpointInterfaceDesc(ReqRspWrapperTestImpl.class);
- OperationDescription operationDesc = testEndpointInterfaceDesc.getOperation("method1")[0];
+ OperationDescription operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method1")[0];
assertNotNull(operationDesc);
assertEquals("method1ReqWrapper", operationDesc.getRequestWrapperLocalName());
assertEquals("method1RspWrapper", operationDesc.getResponseWrapperLocalName());
@@ -430,7 +432,7 @@
assertEquals("org.apache.axis2.jaxws.description.method1ReqWrapper", operationDesc.getRequestWrapperClassName());
assertEquals("org.apache.axis2.jaxws.description.method1RspWrapper", operationDesc.getResponseWrapperClassName());
- operationDesc = testEndpointInterfaceDesc.getOperation("method2")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method2")[0];
assertEquals("method2", operationDesc.getRequestWrapperLocalName());
assertEquals("method2RspWrapper", operationDesc.getResponseWrapperLocalName());
assertEquals("http://a.b.c.method2ReqTNS", operationDesc.getRequestWrapperTargetNamespace());
@@ -443,38 +445,38 @@
EndpointInterfaceDescription testEndpointInterfaceDesc = getEndpointInterfaceDesc(WebMethodTestImpl.class);
// Test results from method with no annotation
- OperationDescription operationDesc = testEndpointInterfaceDesc.getOperation("method1")[0];
+ OperationDescription operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method1")[0];
assertNotNull(operationDesc);
assertEquals("method1", operationDesc.getWebMethodOperationName());
assertEquals("", operationDesc.getWebMethodAction());
assertFalse(operationDesc.getWebMethodExclude());
- operationDesc = testEndpointInterfaceDesc.getOperation("method2")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method2")[0];
assertNotNull(operationDesc);
assertEquals("renamedMethod2", operationDesc.getWebMethodOperationName());
assertEquals("", operationDesc.getWebMethodAction());
assertFalse(operationDesc.getWebMethodExclude());
- operationDesc = testEndpointInterfaceDesc.getOperation("method3")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method3")[0];
assertNotNull(operationDesc);
assertEquals("method3", operationDesc.getWebMethodOperationName());
assertEquals("ActionMethod3", operationDesc.getWebMethodAction());
assertFalse(operationDesc.getWebMethodExclude());
- operationDesc = testEndpointInterfaceDesc.getOperation("method4")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method4")[0];
assertNotNull(operationDesc);
assertEquals("renamedMethod4", operationDesc.getWebMethodOperationName());
assertEquals("ActionMethod4", operationDesc.getWebMethodAction());
assertFalse(operationDesc.getWebMethodExclude());
- operationDesc = testEndpointInterfaceDesc.getOperation("method4")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method4")[0];
assertNotNull(operationDesc);
assertEquals("renamedMethod4", operationDesc.getWebMethodOperationName());
assertEquals("ActionMethod4", operationDesc.getWebMethodAction());
assertFalse(operationDesc.getWebMethodExclude());
// REVIEW: Should these getters be throwing an exception or returning a default value since exclude=true?
- operationDesc = testEndpointInterfaceDesc.getOperation("method5")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method5")[0];
assertNotNull(operationDesc);
assertEquals("method5", operationDesc.getWebMethodOperationName());
assertEquals("", operationDesc.getWebMethodAction());
@@ -487,7 +489,7 @@
// DOCUMENT / LITERAL / WRAPPED methods
- OperationDescription operationDesc = testEndpointInterfaceDesc.getOperation("method0")[0];
+ OperationDescription operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method0")[0];
assertNotNull(operationDesc);
assertNull(operationDesc.getWebResult());
assertFalse(operationDesc.isWebResultAnnotationSpecified());
@@ -497,7 +499,7 @@
assertEquals("", operationDesc.getWebResultTargetNamespace());
assertFalse(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("method1")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method1")[0];
assertNotNull(operationDesc);
assertNull(operationDesc.getWebResult());
assertFalse(operationDesc.isWebResultAnnotationSpecified());
@@ -507,7 +509,7 @@
assertEquals("", operationDesc.getWebResultTargetNamespace());
assertFalse(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("method2")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method2")[0];
assertNotNull(operationDesc);
assertNotNull(operationDesc.getWebResult());
assertTrue(operationDesc.isWebResultAnnotationSpecified());
@@ -517,7 +519,7 @@
assertEquals("", operationDesc.getWebResultTargetNamespace());
assertFalse(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("method3")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method3")[0];
assertNotNull(operationDesc);
assertNotNull(operationDesc.getWebResult());
assertTrue(operationDesc.isWebResultAnnotationSpecified());
@@ -527,7 +529,7 @@
assertEquals("", operationDesc.getWebResultTargetNamespace());
assertFalse(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("method4")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method4")[0];
assertNotNull(operationDesc);
assertNotNull(operationDesc.getWebResult());
assertTrue(operationDesc.isWebResultAnnotationSpecified());
@@ -537,7 +539,7 @@
assertEquals("http://result.test.target.namespace/", operationDesc.getWebResultTargetNamespace());
assertFalse(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("method5")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method5")[0];
assertNotNull(operationDesc);
assertNotNull(operationDesc.getWebResult());
assertTrue(operationDesc.isWebResultAnnotationSpecified());
@@ -547,7 +549,7 @@
assertEquals("http://result.test.target.namespace.5/", operationDesc.getWebResultTargetNamespace());
assertTrue(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("method6")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method6")[0];
assertNotNull(operationDesc);
assertNull(operationDesc.getWebResult());
assertFalse(operationDesc.isWebResultAnnotationSpecified());
@@ -557,7 +559,7 @@
assertEquals(null, operationDesc.getWebResultTargetNamespace());
assertFalse(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("method7")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method7")[0];
assertNotNull(operationDesc);
assertNotNull(operationDesc.getWebResult());
assertTrue(operationDesc.isWebResultAnnotationSpecified());
@@ -569,7 +571,7 @@
// DOCUMENT / LITERAL / BARE methods
- operationDesc = testEndpointInterfaceDesc.getOperation("method0_bare")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method0_bare")[0];
assertNotNull(operationDesc);
assertNull(operationDesc.getWebResult());
assertFalse(operationDesc.isWebResultAnnotationSpecified());
@@ -579,7 +581,7 @@
assertEquals("http://service.test.target.namespace/", operationDesc.getWebResultTargetNamespace());
assertFalse(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("method1_bare")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method1_bare")[0];
assertNotNull(operationDesc);
assertNull(operationDesc.getWebResult());
assertFalse(operationDesc.isWebResultAnnotationSpecified());
@@ -589,7 +591,7 @@
assertEquals("http://service.test.target.namespace/", operationDesc.getWebResultTargetNamespace());
assertFalse(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("method2_bare")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method2_bare")[0];
assertNotNull(operationDesc);
assertNotNull(operationDesc.getWebResult());
assertTrue(operationDesc.isWebResultAnnotationSpecified());
@@ -599,7 +601,7 @@
assertEquals("http://service.test.target.namespace/", operationDesc.getWebResultTargetNamespace());
assertFalse(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("method3_bare")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method3_bare")[0];
assertNotNull(operationDesc);
assertNotNull(operationDesc.getWebResult());
assertTrue(operationDesc.isWebResultAnnotationSpecified());
@@ -609,7 +611,7 @@
assertEquals("http://service.test.target.namespace/", operationDesc.getWebResultTargetNamespace());
assertFalse(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("method4_bare")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method4_bare")[0];
assertNotNull(operationDesc);
assertNotNull(operationDesc.getWebResult());
assertTrue(operationDesc.isWebResultAnnotationSpecified());
@@ -619,7 +621,7 @@
assertEquals("http://result.bare.test.target.namespace/", operationDesc.getWebResultTargetNamespace());
assertFalse(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("method5_bare")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method5_bare")[0];
assertNotNull(operationDesc);
assertNotNull(operationDesc.getWebResult());
assertTrue(operationDesc.isWebResultAnnotationSpecified());
@@ -629,7 +631,7 @@
assertEquals("http://result.bare.test.target.namespace.5/", operationDesc.getWebResultTargetNamespace());
assertTrue(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("method6_bare")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method6_bare")[0];
assertNotNull(operationDesc);
assertNull(operationDesc.getWebResult());
assertFalse(operationDesc.isWebResultAnnotationSpecified());
@@ -639,7 +641,7 @@
assertEquals(null, operationDesc.getWebResultTargetNamespace());
assertFalse(operationDesc.getWebResultHeader());
- operationDesc = testEndpointInterfaceDesc.getOperation("method7")[0];
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method7")[0];
assertNotNull(operationDesc);
assertNotNull(operationDesc.getWebResult());
assertTrue(operationDesc.isWebResultAnnotationSpecified());
@@ -649,7 +651,454 @@
assertEquals("http://service.test.target.namespace/", operationDesc.getWebResultTargetNamespace());
assertTrue(operationDesc.getWebResultHeader());
}
+
+ public void testWebParamWrapped() {
+ EndpointInterfaceDescription testEndpointInterfaceDesc = getEndpointInterfaceDesc(WebParamTestImpl.class);
+
+ // DOCUMENT / LITERAL / WRAPPED methods
+
+ // method0
+ OperationDescription operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method0")[0];
+ assertNotNull(operationDesc);
+ ParameterDescription[] paramDesc = operationDesc.getParameterDescriptions();
+ assertEquals(1, paramDesc.length);
+ ParameterDescription checkParamDesc = paramDesc[0];
+ assertNull(checkParamDesc.getWebParam());
+ assertEquals("arg0", checkParamDesc.getWebParamName());
+ assertEquals("arg0", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(0));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("arg0"));
+ assertEquals(String.class, checkParamDesc.getParameterType());
+ assertEquals(String.class, checkParamDesc.getParameterActualType());
+ assertFalse(checkParamDesc.isHolderType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ // method00
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method00")[0];
+ assertNotNull(operationDesc);
+ assertEquals(0, operationDesc.getParameterDescriptions().length);
+
+ // method1
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method1")[0];
+ assertNotNull(operationDesc);
+ paramDesc = operationDesc.getParameterDescriptions();
+ assertEquals(1, paramDesc.length);
+ checkParamDesc = paramDesc[0];
+ assertNull(checkParamDesc.getWebParam());
+ assertEquals("arg0", checkParamDesc.getWebParamName());
+ assertEquals("arg0", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(0));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("arg0"));
+ assertEquals(String.class, checkParamDesc.getParameterType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ // method2
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method2")[0];
+ assertNotNull(operationDesc);
+ paramDesc = operationDesc.getParameterDescriptions();
+ assertEquals(1, paramDesc.length);
+ checkParamDesc = paramDesc[0];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("arg0", checkParamDesc.getWebParamName());
+ assertEquals("arg0", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(0));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("arg0"));
+ assertEquals(String.class, checkParamDesc.getParameterType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ // method3
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method3")[0];
+ assertNotNull(operationDesc);
+ paramDesc = operationDesc.getParameterDescriptions();
+ assertEquals(5, paramDesc.length);
+ checkParamDesc = paramDesc[0];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("param0NameMethod3", checkParamDesc.getWebParamName());
+ assertEquals("param0NameMethod3", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(0));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("param0NameMethod3"));
+ assertEquals(String.class, checkParamDesc.getParameterType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[1];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("param1NameMethod3", checkParamDesc.getWebParamName());
+ assertEquals("param1NameMethod3", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(1));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("param1NameMethod3"));
+ assertEquals(Holder.class, checkParamDesc.getParameterType());
+ assertEquals(Integer.class, checkParamDesc.getParameterActualType());
+ assertTrue(checkParamDesc.isHolderType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.INOUT, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[2];
+ assertNull(checkParamDesc.getWebParam());
+ assertEquals("arg2", checkParamDesc.getWebParamName());
+ assertEquals("arg2", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(2));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("arg2"));
+ assertEquals(Object.class, checkParamDesc.getParameterType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[3];
+ assertNull(checkParamDesc.getWebParam());
+ assertEquals("arg3", checkParamDesc.getWebParamName());
+ assertEquals("arg3", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(3));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("arg3"));
+ assertEquals(Integer.TYPE, checkParamDesc.getParameterType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[4];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("lastParamNameMethod3", checkParamDesc.getWebParamName());
+ assertEquals("lastParamNameMethod3", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(4));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("lastParamNameMethod3"));
+ assertEquals(String.class, checkParamDesc.getParameterType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ // method4
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method4")[0];
+ assertNotNull(operationDesc);
+ paramDesc = operationDesc.getParameterDescriptions();
+ assertEquals(5, paramDesc.length);
+
+ checkParamDesc = paramDesc[0];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("param0NameMethod4", checkParamDesc.getWebParamName());
+ assertEquals("param0PartName", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(0));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("param0NameMethod4"));
+ assertEquals(String.class, checkParamDesc.getParameterType());
+ assertEquals("http://param.4.0.result.test.target.namespace/", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[1];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("param1NameMethod4", checkParamDesc.getWebParamName());
+ assertEquals("param1PartName", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(1));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("param1NameMethod4"));
+ assertEquals(Integer.TYPE, checkParamDesc.getParameterType());
+ assertEquals("http://param.4.1.result.test.target.namespace/", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[2];
+ assertNull(checkParamDesc.getWebParam());
+ assertEquals("arg2", checkParamDesc.getWebParamName());
+ assertEquals("arg2", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(2));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("arg2"));
+ assertEquals(Object.class, checkParamDesc.getParameterType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[3];
+ assertNull(checkParamDesc.getWebParam());
+ assertEquals("arg3", checkParamDesc.getWebParamName());
+ assertEquals("arg3", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(3));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("arg3"));
+ assertEquals(Holder.class, checkParamDesc.getParameterType());
+ assertEquals(Integer.class, checkParamDesc.getParameterActualType());
+ assertTrue(checkParamDesc.isHolderType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.INOUT, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[4];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("lastParamNameMethod4", checkParamDesc.getWebParamName());
+ assertEquals("lastParamNameMethod4", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(4));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("lastParamNameMethod4"));
+ assertEquals(String.class, checkParamDesc.getParameterType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ // method5
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method5")[0];
+ assertNotNull(operationDesc);
+ paramDesc = operationDesc.getParameterDescriptions();
+ assertEquals(5, paramDesc.length);
+
+ checkParamDesc = paramDesc[0];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("param0NameMethod5", checkParamDesc.getWebParamName());
+ assertEquals("param0PartName", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(0));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("param0NameMethod5"));
+ assertEquals(String.class, checkParamDesc.getParameterType());
+ assertFalse(checkParamDesc.isHolderType());
+ assertEquals("http://param.5.0.result.test.target.namespace/", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertTrue(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[1];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("param1NameMethod5", checkParamDesc.getWebParamName());
+ assertEquals("param1PartName", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(1));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("param1NameMethod5"));
+ assertEquals(Integer.TYPE, checkParamDesc.getParameterType());
+ assertFalse(checkParamDesc.isHolderType());
+ assertEquals("http://param.5.1.result.test.target.namespace/", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[2];
+ assertNull(checkParamDesc.getWebParam());
+ assertEquals("arg2", checkParamDesc.getWebParamName());
+ assertEquals("arg2", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(2));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("arg2"));
+ assertEquals(Holder.class, checkParamDesc.getParameterType());
+ assertEquals(Object.class, checkParamDesc.getParameterActualType());
+ assertTrue(checkParamDesc.isHolderType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.INOUT, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[3];
+ assertNull(checkParamDesc.getWebParam());
+ assertEquals("arg3", checkParamDesc.getWebParamName());
+ assertEquals("arg3", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(3));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("arg3"));
+ assertEquals(Integer.TYPE, checkParamDesc.getParameterType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[4];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("lastParamNameMethod5", checkParamDesc.getWebParamName());
+ assertEquals("lastParamNameMethod5", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(4));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("lastParamNameMethod5"));
+ assertEquals(Holder.class, checkParamDesc.getParameterType());
+ assertEquals(String.class, checkParamDesc.getParameterActualType());
+ assertTrue(checkParamDesc.isHolderType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.OUT, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ // method6
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method6")[0];
+ assertNotNull(operationDesc);
+ paramDesc = operationDesc.getParameterDescriptions();
+ assertEquals(5, paramDesc.length);
+
+ checkParamDesc = paramDesc[0];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("param0NameMethod6", checkParamDesc.getWebParamName());
+ assertEquals("param0PartName", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(0));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("param0NameMethod6"));
+ assertEquals(String.class, checkParamDesc.getParameterType());
+ assertEquals("http://param.service.test.target.namespace/", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertTrue(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[1];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("param1NameMethod6", checkParamDesc.getWebParamName());
+ assertEquals("param1PartName", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(1));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("param1NameMethod6"));
+ assertEquals(Integer.TYPE, checkParamDesc.getParameterType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[2];
+ assertNull(checkParamDesc.getWebParam());
+ assertEquals("arg2", checkParamDesc.getWebParamName());
+ assertEquals("arg2", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(2));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("arg2"));
+ assertEquals(Object.class, checkParamDesc.getParameterType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[3];
+ assertNull(checkParamDesc.getWebParam());
+ assertEquals("arg3", checkParamDesc.getWebParamName());
+ assertEquals("arg3", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(3));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("arg3"));
+ assertEquals(Integer.TYPE, checkParamDesc.getParameterType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ checkParamDesc = paramDesc[4];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("lastParamNameMethod6", checkParamDesc.getWebParamName());
+ assertEquals("lastParamNameMethod6", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(4));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("lastParamNameMethod6"));
+ assertEquals(String.class, checkParamDesc.getParameterType());
+ assertEquals("", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+ }
+
+ public void testWebParamBare() {
+ EndpointInterfaceDescription testEndpointInterfaceDesc = getEndpointInterfaceDesc(WebParamTestImpl.class);
+
+ // DOCUMENT / LITERAL / BARE methods
+ OperationDescription operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method0_bare")[0];
+ assertNotNull(operationDesc);
+ ParameterDescription[] paramDesc = operationDesc.getParameterDescriptions();
+ assertEquals(1, paramDesc.length);
+ ParameterDescription checkParamDesc = paramDesc[0];
+ assertNull(checkParamDesc.getWebParam());
+ assertEquals("method0_bare", checkParamDesc.getWebParamName());
+ assertEquals("method0_bare", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(0));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("method0_bare"));
+ assertEquals(String.class, checkParamDesc.getParameterType());
+ assertEquals(String.class, checkParamDesc.getParameterActualType());
+ assertFalse(checkParamDesc.isHolderType());
+ assertEquals("http://param.service.test.target.namespace/", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ // method00
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method00_bare")[0];
+ assertNotNull(operationDesc);
+ assertEquals(0, operationDesc.getParameterDescriptions().length);
+
+ // method1
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method1_bare")[0];
+ assertNotNull(operationDesc);
+ paramDesc = operationDesc.getParameterDescriptions();
+ assertEquals(1, paramDesc.length);
+ checkParamDesc = paramDesc[0];
+ assertNull(checkParamDesc.getWebParam());
+ assertEquals("renamedMethod1", checkParamDesc.getWebParamName());
+ assertEquals("renamedMethod1", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(0));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("renamedMethod1"));
+ assertEquals(String.class, checkParamDesc.getParameterType());
+ assertEquals("http://param.service.test.target.namespace/", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ // method2
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method2_bare")[0];
+ assertNotNull(operationDesc);
+ paramDesc = operationDesc.getParameterDescriptions();
+ assertEquals(1, paramDesc.length);
+ checkParamDesc = paramDesc[0];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("renamedMethod2", checkParamDesc.getWebParamName());
+ assertEquals("renamedMethod2", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(0));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("renamedMethod2"));
+ assertEquals(String.class, checkParamDesc.getParameterType());
+ assertEquals("http://param.service.test.target.namespace/", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.IN, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ // method3
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method3_bare")[0];
+ assertNotNull(operationDesc);
+ paramDesc = operationDesc.getParameterDescriptions();
+ assertEquals(1, paramDesc.length);
+ checkParamDesc = paramDesc[0];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("param1NameMethod3", checkParamDesc.getWebParamName());
+ assertEquals("param1NameMethod3", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(0));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("param1NameMethod3"));
+ assertEquals(Holder.class, checkParamDesc.getParameterType());
+ assertEquals(Integer.class, checkParamDesc.getParameterActualType());
+ assertTrue(checkParamDesc.isHolderType());
+ assertEquals("http://param.service.test.target.namespace/", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.INOUT, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ // method4
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method4_bare")[0];
+ assertNotNull(operationDesc);
+ paramDesc = operationDesc.getParameterDescriptions();
+ assertEquals(1, paramDesc.length);
+
+ checkParamDesc = paramDesc[0];
+ assertNull(checkParamDesc.getWebParam());
+ assertEquals("renamedMethod4", checkParamDesc.getWebParamName());
+ assertEquals("renamedMethod4", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(0));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("renamedMethod4"));
+ assertEquals(Holder.class, checkParamDesc.getParameterType());
+ assertEquals(Integer.class, checkParamDesc.getParameterActualType());
+ assertEquals("http://param.service.test.target.namespace/", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.INOUT, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ // method5
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method5_bare")[0];
+ assertNotNull(operationDesc);
+ paramDesc = operationDesc.getParameterDescriptions();
+ assertEquals(1, paramDesc.length);
+
+ checkParamDesc = paramDesc[0];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("lastParamNameMethod5", checkParamDesc.getWebParamName());
+ assertEquals("lastParamNameMethod5", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(0));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("lastParamNameMethod5"));
+ assertEquals(Holder.class, checkParamDesc.getParameterType());
+ assertEquals(String.class, checkParamDesc.getParameterActualType());
+ assertTrue(checkParamDesc.isHolderType());
+ assertEquals("http://method5.bare.result.test.target.namespace.5/", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.OUT, checkParamDesc.getWebParamMode());
+ assertFalse(checkParamDesc.getWebParamHeader());
+
+ // method6
+ operationDesc = testEndpointInterfaceDesc.getOperationForJavaMethod("method6_bare")[0];
+ assertNotNull(operationDesc);
+ paramDesc = operationDesc.getParameterDescriptions();
+ assertEquals(1, paramDesc.length);
+
+ checkParamDesc = paramDesc[0];
+ assertNotNull(checkParamDesc.getWebParam());
+ assertEquals("param0NameMethod6", checkParamDesc.getWebParamName());
+ assertEquals("param0PartName", checkParamDesc.getWebParamPartName());
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription(0));
+ assertEquals(checkParamDesc, operationDesc.getParameterDescription("param0NameMethod6"));
+ assertEquals(Holder.class, checkParamDesc.getParameterType());
+ assertEquals(String.class, checkParamDesc.getParameterActualType());
+ assertEquals("http://param.service.test.target.namespace/", checkParamDesc.getWebParamTargetNamespace());
+ assertEquals(WebParam.Mode.INOUT, checkParamDesc.getWebParamMode());
+ assertTrue(checkParamDesc.getWebParamHeader());
+ }
+
/*
* Method to return the endpoint interface description for a given implementation class.
*/
@@ -890,4 +1339,152 @@
public String method7_bare(String s) {
return s;
}
-}
\ No newline at end of file
+}
+
+// ===============================================
+// Web Param test impl
+// ===============================================
+@WebService(targetNamespace="http://param.service.test.target.namespace/")
+//Default SOAPBinding Style=DOCUMENT, Use=LITERAL, ParamStyle=WRAPPED
+class WebParamTestImpl {
+
+ // DOCUMENT / LITERAL / WRAPPED methods
+ public String method0(String s) {
+ return s;
+ }
+
+ public void method00() {
+ return;
+ }
+
+ @WebMethod(operationName = "renamedMethod1")
+ public String method1(String s) {
+ return s;
+ }
+
+ @WebMethod(operationName = "renamedMethod2")
+ @WebResult()
+ public String method2(
+ @WebParam()
+ String s) {
+ return s;
+ }
+
+ @WebMethod(operationName = "renamedMethod3")
+ @WebResult(name = "resultName")
+ public String method3(
+ @WebParam(name="param0NameMethod3")
+ String s,
+ @WebParam(name="param1NameMethod3")
+ javax.xml.ws.Holder<Integer> holderInteger,
+ Object objNoWebParamAnno,
+ int intNoWebParamAnno,
+ @WebParam(name="lastParamNameMethod3")
+ String last) {
+ return s;
+ }
+
+ @WebMethod(operationName = "renamedMethod4")
+ @WebResult(name = "resultName", partName = "partName", targetNamespace = "http://result.test.target.namespace/")
+ public String method4(
+ @WebParam(name="param0NameMethod4", partName="param0PartName", targetNamespace="http://param.4.0.result.test.target.namespace/")
+ String s,
+ @WebParam(name="param1NameMethod4", partName="param1PartName", targetNamespace="http://param.4.1.result.test.target.namespace/")
+ int i,
+ Object objNoWebParamAnno,
+ javax.xml.ws.Holder<Integer> intNoWebParamAnno,
+ @WebParam(name="lastParamNameMethod4")
+ String last) {
+
+ return s;
+ }
+
+ @WebMethod(operationName = "renamedMethod5")
+ @WebResult(name = "resultName5", partName = "partName5", targetNamespace = "http://result.test.target.namespace.5/", header = true)
+ public String method5(
+ @WebParam(name="param0NameMethod5", partName="param0PartName", targetNamespace="http://param.5.0.result.test.target.namespace/", header=true)
+ String s,
+ @WebParam(name="param1NameMethod5", partName="param1PartName", targetNamespace="http://param.5.1.result.test.target.namespace/", header=false)
+ int i,
+ javax.xml.ws.Holder<Object> objNoWebParamAnno,
+ int intNoWebParamAnno,
+ @WebParam(name="lastParamNameMethod5", mode=WebParam.Mode.OUT)
+ javax.xml.ws.Holder<String> last) {
+ return s;
+ }
+
+ @WebMethod(operationName = "renamedMethod6")
+ @WebResult(name = "resultName5", partName = "partName5", header = true)
+ public String method6(
+ @WebParam(name="param0NameMethod6", partName="param0PartName", header=true)
+ String s,
+ @WebParam(name="param1NameMethod6", partName="param1PartName", header=false)
+ int i,
+ Object objNoWebParamAnno,
+ int intNoWebParamAnno,
+ @WebParam(name="lastParamNameMethod6")
+ String last) {
+ return s;
+ }
+
+ // DOCUMENT / LITERAL / BARE methods
+ @SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ public String method0_bare(String s) {
+ return s;
+ }
+
+ @SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ public void method00_bare() {
+ return;
+ }
+
+ @WebMethod(operationName = "renamedMethod1")
+ @SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ public String method1_bare(String s) {
+ return s;
+ }
+
+ @WebMethod(operationName = "renamedMethod2")
+ @SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ @WebResult()
+ public String method2_bare(
+ @WebParam()
+ String s) {
+ return s;
+ }
+ @WebMethod(operationName = "renamedMethod3")
+ @SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ @WebResult(name = "resultName")
+ public String method3_bare(
+ @WebParam(name="param1NameMethod3")
+ javax.xml.ws.Holder<Integer> holderInteger) {
+ return null;
+ }
+
+ @WebMethod(operationName = "renamedMethod4")
+ @SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ @WebResult(name = "resultName", partName = "partName", targetNamespace = "http://result.test.target.namespace/")
+ public String method4_bare(
+ javax.xml.ws.Holder<Integer> intNoWebParamAnno) {
+
+ return null;
+ }
+
+ @WebMethod(operationName = "renamedMethod5")
+ @SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ @WebResult(name = "resultName5", partName = "partName5", targetNamespace = "http://result.test.target.namespace.5/", header = true)
+ public void method5_bare(
+ @WebParam(name="lastParamNameMethod5", mode=WebParam.Mode.OUT, targetNamespace = "http://method5.bare.result.test.target.namespace.5/")
+ javax.xml.ws.Holder<String> last) {
+ return;
+ }
+
+ @WebMethod(operationName = "renamedMethod6")
+ @SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.BARE)
+ @WebResult(name = "resultName5", partName = "partName5", header = true)
+ public String method6_bare(
+ @WebParam(name="param0NameMethod6", partName="param0PartName", header=true)
+ javax.xml.ws.Holder<String> s) {
+ return null;
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org