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 sc...@apache.org on 2006/12/02 15:26:51 UTC

svn commit: r481563 - in /webservices/axis2/trunk/java/modules/jaxws: ./ src/org/apache/axis2/jaxws/description/impl/ test-resources/wsdl/ test/org/apache/axis2/jaxws/framework/ test/org/apache/axis2/jaxws/proxy/ test/org/apache/axis2/jaxws/proxy/goril...

Author: scheu
Date: Sat Dec  2 06:26:47 2006
New Revision: 481563

URL: http://svn.apache.org/viewvc?view=rev&rev=481563
Log:
AXIS2-1792
Contributor: Rich Scheuerle
Contributing an document/literal endpoint (Gorilla) that has more complicated method signatures (i.e. array usage).
Contributing the client, which for now only calls echoString.  I will be adding more tests and code fixes.

Added:
    webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/gorilla_dlw.wsdl
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/GorillaDLWProxyTests.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/GorillaProxyImpl.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/MANIFEST.MF
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/gorilla_dlw.wsdl
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/services.xml
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/AssertFault.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/GorillaInterface.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/GorillaService.java
Modified:
    webservices/axis2/trunk/java/modules/jaxws/maven.xml
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java

Modified: webservices/axis2/trunk/java/modules/jaxws/maven.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/maven.xml?view=diff&rev=481563&r1=481562&r2=481563
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/maven.xml (original)
+++ webservices/axis2/trunk/java/modules/jaxws/maven.xml Sat Dec  2 06:26:47 2006
@@ -85,6 +85,13 @@
 			<classpath location="${compiled.classes.dir}"/>
 			<arg line="-d ${schema.generated.src.dir} -p org.test.proxy.rpclit -quiet -wsdl ${wsdl.source.dir}/RPCLit.wsdl"/>
 		</java>
+		<ant:echo>Generating java from gorilla_dlw.wsdl</ant:echo>
+        <java classname="com.sun.tools.xjc.Driver" fork="true"> 
+			<jvmarg line="${maven.junit.jvmargs}"/>
+			<classpath refid="maven.dependency.classpath"/>
+			<classpath location="${compiled.classes.dir}"/>
+			<arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/gorilla_dlw.wsdl"/>
+		</java>
     	<ant:echo>Generating java from AddNumbers.wsdl</ant:echo>
     	<java classname="com.sun.tools.xjc.Driver" fork="true"> 
     	    <jvmarg line="${maven.junit.jvmargs}"/>
@@ -317,6 +324,17 @@
 						<ant:include name="org/apache/axis2/jaxws/proxy/rpclit/**"/>
 					</ant:fileset>
 					<ant:fileset dir="test/org/apache/axis2/jaxws/proxy/rpclit">
+		                <ant:include name="META-INF/**"/>
+					</ant:fileset>
+					<ant:fileset dir="target/classes">
+		                <ant:include name="org/apache/axis2/jaxws/server/**"/>
+					</ant:fileset>
+		</ant:copy>
+		<ant:copy toDir="target/test-classes/services/gorilla_dlw/">
+					<ant:fileset dir="target/test-classes">
+						<ant:include name="org/apache/axis2/jaxws/proxy/gorilla_dlw/**"/>
+					</ant:fileset>
+					<ant:fileset dir="test/org/apache/axis2/jaxws/proxy/gorilla_dlw">
 		                <ant:include name="META-INF/**"/>
 					</ant:fileset>
 					<ant:fileset dir="target/classes">

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java?view=diff&rev=481563&r1=481562&r2=481563
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java Sat Dec  2 06:26:47 2006
@@ -1170,7 +1170,7 @@
            if(Response.class == returnType){
                Type type = seiMethod.getGenericReturnType();
                ParameterizedType pType = (ParameterizedType) type;
-               Type aType = (Class) pType.getActualTypeArguments()[0];
+               Type aType = pType.getActualTypeArguments()[0];
                if (aType != null && ParameterizedType.class.isInstance(aType)) {
                    return (Class) ((ParameterizedType) aType).getRawType();
                }
@@ -1184,7 +1184,7 @@
                for(Class param:parameters){
                    if(AsyncHandler.class.isAssignableFrom(param)){
                        ParameterizedType pType = (ParameterizedType)type[i];
-                       Type aType = (Class) pType.getActualTypeArguments()[0];
+                       Type aType = pType.getActualTypeArguments()[0];
                        if (aType != null && ParameterizedType.class.isInstance(aType)) {
                            return (Class) ((ParameterizedType) aType).getRawType();
                        }

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java?view=diff&rev=481563&r1=481562&r2=481563
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java Sat Dec  2 06:26:47 2006
@@ -125,7 +125,7 @@
             // OperationDesc.getResultActualType
             
             // For types of Holder<T>, return the class associated with T
-            Type type = (Class) parameterGenericType.getActualTypeArguments()[0];
+            Type type = parameterGenericType.getActualTypeArguments()[0];
             if (type != null && ParameterizedType.class.isInstance(type)) {
                 return (Class) ((ParameterizedType) type).getRawType();
             }

Added: webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/gorilla_dlw.wsdl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/gorilla_dlw.wsdl?view=auto&rev=481563
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/gorilla_dlw.wsdl (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/gorilla_dlw.wsdl Sat Dec  2 06:26:47 2006
@@ -0,0 +1,535 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+    xmlns:s="http://www.w3.org/2001/XMLSchema" 
+    targetNamespace="http://org/apache/axis2/jaxws/proxy/gorilla_dlw" 
+    xmlns:tns="http://org/apache/axis2/jaxws/proxy/gorilla_dlw" 
+    xmlns:data="http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data"
+    xmlns="http://schemas.xmlsoap.org/wsdl/">
+  <types>
+    <!-- Use elementFormDefault=qualified.  Many users use this setting for interop compatibility -->
+    <s:schema elementFormDefault="qualified" 
+        targetNamespace="http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data" >
+
+      <s:import namespace="http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data2"  />
+
+      <s:element name="assertFault">
+        <s:complexType>
+           <s:sequence>
+             <s:element name="faultData" type="s:string" />
+           </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <s:simpleType name="stringList">   
+        <s:list itemType="s:string"/> 
+      </s:simpleType>
+
+      <s:simpleType name="fruit">
+         <s:restriction base="s:string">
+            <s:enumeration value="apple"/>                      
+            <s:enumeration value="orange"/>                    
+            <s:enumeration value="pear"/>                    
+         </s:restriction>
+      </s:simpleType>
+
+      <s:complexType name="Object0">
+         <s:sequence>
+           <s:element name="data0" type="s:string" />
+         </s:sequence>
+      </s:complexType>
+
+      <!-- Echo a String.  This also supports the situation where there is no string -->
+      <s:element name="echoString">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="data" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoStringResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="result" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo combined String-->
+      <s:element name="echoString2">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="data" type="s:string" />
+            <s:element minOccurs="0" maxOccurs="1" name="inout" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoString2Response">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="inout" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo int -->
+      <s:element name="echoInt">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="data" type="s:int" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoIntResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="result" type="s:int" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo enum -->
+      <s:element name="echoEnum">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="data" type="data:fruit" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoEnumResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="result" type="data:fruit" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo anyType.  Test polymorphism -->
+      <s:element name="echoAnyType">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="data" type="s:anyType" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoAnyTypeResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="result" type="s:anyType" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo stringList.  Tests xsd:list-->
+      <s:element name="echoStringList">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="data" type="data:stringList" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <s:element name="echoStringListResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="result" type="data:stringList" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo a String.  This also supports the situation where there is no string -->
+      <s:element name="echoStringArray">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="data" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoStringArrayResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="result" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo combined String-->
+      <s:element name="echoString2Array">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="data" type="s:string" />
+            <s:element minOccurs="0" maxOccurs="unbounded" name="inout" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoString2ArrayResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="inout" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo int -->
+      <s:element name="echoIntArray">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="data" type="s:int" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoIntArrayResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="result" type="s:int" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo enum -->
+      <s:element name="echoEnumArray">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="data" type="data:fruit" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoEnumArrayResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="result" type="data:fruit" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo anyType.  Test polymorphism -->
+      <s:element name="echoAnyTypeArray">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="data" type="s:anyType" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoAnyTypeArrayResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="result" type="s:anyType" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+    </s:schema>
+
+    <s:schema elementFormDefault="qualified" 
+        targetNamespace="http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data2" >
+        
+        <!-- For anyType processing,  Object1 is in an imported schema, thus it should be allowed in the anyType -->
+        <s:complexType name="Object1">
+           <s:sequence>
+             <s:element name="data1" type="s:string" />
+           </s:sequence>
+        </s:complexType>
+    </s:schema>
+
+   <s:schema elementFormDefault="qualified" 
+        targetNamespace="http://org/apache/axis2/jaxws/proxy/gorilla_dlw/dataUnref" >
+        
+        <!-- For anyType processing,  Object2 is in an unreferenced schema, thus may fail when used with anyType -->
+        <s:complexType name="Object2">
+           <s:sequence>
+             <s:element name="data2" type="s:string" />
+           </s:sequence>
+        </s:complexType>
+    </s:schema>
+ 
+
+
+  </types>
+
+  <!-- messages -->
+  <message name="assertFault">
+    <part name="x" element="data:assertFault" />
+  </message>
+
+  <message name="echoString">
+    <part name="x" element="data:echoString" />
+  </message>
+  <message name="echoStringResponse">
+    <part name="x" element="data:echoStringResponse" />
+  </message>
+
+  <message name="echoString2">
+    <part name="x" element="data:echoString2" />
+  </message>
+  <message name="echoString2Response">
+    <part name="x" element="data:echoString2Response" />
+  </message>
+
+  <message name="echoInt">
+    <part name="x" element="data:echoInt" />
+  </message>
+  <message name="echoIntResponse">
+    <part name="x" element="data:echoIntResponse" />
+  </message>
+
+  <message name="echoEnum">
+    <part name="x" element="data:echoEnum" />
+  </message>
+  <message name="echoEnumResponse">
+    <part name="x" element="data:echoEnumResponse" />
+  </message>
+
+  <message name="echoAnyType">
+    <part name="x" element="data:echoAnyType" />
+  </message>
+  <message name="echoAnyTypeResponse">
+    <part name="x" element="data:echoAnyTypeResponse" />
+  </message>
+
+  <message name="echoStringList">
+    <part name="x" element="data:echoStringList" />
+  </message>
+  <message name="echoStringListResponse">
+    <part name="x" element="data:echoStringListResponse" />
+  </message>
+
+  <message name="echoStringArray">
+    <part name="x" element="data:echoStringArray" />
+  </message>
+  <message name="echoStringArrayResponse">
+    <part name="x" element="data:echoStringArrayResponse" />
+  </message>
+
+  <message name="echoString2Array">
+    <part name="x" element="data:echoString2Array" />
+  </message>
+  <message name="echoString2ArrayResponse">
+    <part name="x" element="data:echoString2ArrayResponse" />
+  </message>
+
+  <message name="echoIntArray">
+    <part name="x" element="data:echoIntArray" />
+  </message>
+  <message name="echoIntArrayResponse">
+    <part name="x" element="data:echoIntArrayResponse" />
+  </message>
+
+  <message name="echoEnumArray">
+    <part name="x" element="data:echoEnumArray" />
+  </message>
+  <message name="echoEnumArrayResponse">
+    <part name="x" element="data:echoEnumArrayResponse" />
+  </message>
+
+  <message name="echoAnyTypeArray">
+    <part name="x" element="data:echoAnyTypeArray" />
+  </message>
+  <message name="echoAnyTypeArrayResponse">
+    <part name="x" element="data:echoAnyTypeArrayResponse" />
+  </message>
+
+  <!-- operation -->
+  <portType name="GorillaInterface">
+    <operation name="echoString">
+      <input message="tns:echoString" />
+      <output message="tns:echoStringResponse" />
+      <fault name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoString2">
+      <input message="tns:echoString2" />
+      <output message="tns:echoString2Response" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoInt">
+      <input message="tns:echoInt" />
+      <output message="tns:echoIntResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoEnum">
+      <input message="tns:echoEnum" />
+      <output message="tns:echoEnumResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoAnyType">
+      <input message="tns:echoAnyType" />
+      <output message="tns:echoAnyTypeResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoStringList">
+      <input message="tns:echoStringList" />
+      <output message="tns:echoStringListResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+
+    <operation name="echoStringArray">
+      <input message="tns:echoStringArray" />
+      <output message="tns:echoStringArrayResponse" />
+      <fault name="assertFault" message="tns:assertFault" />
+    </operation>
+
+    <operation name="echoString2Array">
+      <input message="tns:echoString2Array" />
+      <output message="tns:echoString2ArrayResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoIntArray">
+      <input message="tns:echoIntArray" />
+      <output message="tns:echoIntArrayResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoEnumArray">
+      <input message="tns:echoEnumArray" />
+      <output message="tns:echoEnumArrayResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoAnyTypeArray">
+      <input message="tns:echoAnyTypeArray" />
+      <output message="tns:echoAnyTypeArrayResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+  </portType>
+
+  <!-- binding -->
+  <binding name="GorillaSOAP" type="tns:GorillaInterface">
+    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+    <operation name="echoString">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoString2">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoInt">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoEnum">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoAnyType">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoStringList">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+
+    <operation name="echoStringArray">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoString2Array">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoIntArray">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoEnumArray">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoAnyTypeArray">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+ </binding>
+
+  <service name="GorillaService">
+    <port name="GorillaPort" binding="tns:GorillaSOAP">
+      <soap:address location="http://localhost:9080/axis2/services/GorillaService" />
+    </port>
+  </service>
+</definitions>

Modified: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java?view=diff&rev=481563&r1=481562&r2=481563
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java Sat Dec  2 06:26:47 2006
@@ -59,6 +59,7 @@
 import org.apache.axis2.jaxws.provider.SourceProviderTests;
 import org.apache.axis2.jaxws.provider.StringMessageProviderTests;
 import org.apache.axis2.jaxws.provider.StringProviderTests;
+import org.apache.axis2.jaxws.proxy.GorillaDLWProxyTests;
 import org.apache.axis2.jaxws.proxy.ProxyNonWrappedTests;
 import org.apache.axis2.jaxws.proxy.ProxyTests;
 import org.apache.axis2.jaxws.proxy.RPCProxyTests;
@@ -128,6 +129,7 @@
         suite.addTestSuite(ProxyTests.class);
         suite.addTestSuite(ProxyNonWrappedTests.class);
         suite.addTestSuite(RPCProxyTests.class);
+        suite.addTestSuite(GorillaDLWProxyTests.class);
         suite.addTestSuite(ExceptionFactoryTests.class);
         suite.addTestSuite(BasicAuthSecurityTests.class);
 

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/GorillaDLWProxyTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/GorillaDLWProxyTests.java?view=auto&rev=481563
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/GorillaDLWProxyTests.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/GorillaDLWProxyTests.java Sat Dec  2 06:26:47 2006
@@ -0,0 +1,119 @@
+/*
+ * 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.proxy;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.math.BigInteger;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.Marshaller;
+import javax.xml.datatype.XMLGregorianCalendar;
+import javax.xml.namespace.QName;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.Dispatch;
+import javax.xml.ws.Service;
+
+import org.apache.axis2.jaxws.dispatch.DispatchTestConstants;
+import org.apache.axis2.jaxws.proxy.gorilla_dlw.sei.GorillaInterface;
+import org.test.proxy.rpclit.ObjectFactory;
+import org.test.proxy.rpclit.Enum;
+import org.test.proxy.rpclit.ComplexAll;
+
+import junit.framework.TestCase;
+
+public class GorillaDLWProxyTests extends TestCase {
+
+    private QName serviceName = new QName(
+            "http://org.apache.axis2.jaxws.proxy.gorilla_dlw", "GorillaService");
+    private String axisEndpoint = "http://localhost:8080/axis2/services/GorillaService";
+    private QName portName = new QName("http://org.apache.axis2.jaxws.proxy.rpclit",
+            "GorillaPort");
+    private String wsdlLocation = "test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/gorilla_dlw.wsdl";
+    
+    /**
+     * Utility method to get the proxy
+     * @return GorillaInterface proxy
+     * @throws MalformedURLException
+     */
+    public GorillaInterface getProxy() throws MalformedURLException {
+        File wsdl= new File(wsdlLocation); 
+        URL wsdlUrl = wsdl.toURL(); 
+        Service service = Service.create(null, serviceName);
+        Object proxy =service.getPort(portName, GorillaInterface.class);
+        BindingProvider p = (BindingProvider)proxy; 
+        p.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,axisEndpoint);
+        
+        return (GorillaInterface)proxy;
+    }
+    
+    /**
+     * Utility Method to get a Dispatch<String>
+     * @return
+     * @throws MalformedURLException
+     */
+    public Dispatch<String> getDispatch() throws MalformedURLException {
+        File wsdl= new File(wsdlLocation); 
+        URL wsdlUrl = wsdl.toURL(); 
+        Service service = Service.create(null, serviceName);
+        service.addPort(portName, null, axisEndpoint);
+        Dispatch<String> dispatch = service.createDispatch(portName, String.class, Service.Mode.PAYLOAD);
+        return dispatch;
+    }
+    
+    /**
+     * Simple test that ensures that we can echo a string.
+     * If this test fails, it usually means that there are connection
+     * problems or deploy problems.
+     */
+    public void testEchoString() throws Exception {
+        try{ 
+            GorillaInterface proxy = getProxy();
+            String request = "Hello World";
+           
+            String response = proxy.echoString(request);
+            assertTrue(response != null);
+            assert(response.equals(request));
+        }catch(Exception e){ 
+            e.printStackTrace(); 
+            fail("Exception received" + e);
+        }
+    }
+    
+    /**
+     * Tests that we can echo a null
+     */
+    public void testEchoStringNull() throws Exception {
+        try{ 
+            GorillaInterface proxy = getProxy();
+            String request = null;  // Null is an appropriate input
+           
+            String response = proxy.echoString(request);
+            assertTrue(response == null);
+        }catch(Exception e){ 
+            e.printStackTrace(); 
+            fail("Exception received" + e);
+        }
+    }
+}
\ No newline at end of file

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/GorillaProxyImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/GorillaProxyImpl.java?view=auto&rev=481563
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/GorillaProxyImpl.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/GorillaProxyImpl.java Sat Dec  2 06:26:47 2006
@@ -0,0 +1,119 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed 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.proxy.gorilla_dlw;
+
+import java.util.List;
+
+import javax.jws.WebService;
+import javax.xml.ws.Holder;
+
+import org.apache.axis2.jaxws.proxy.gorilla_dlw.data.Fruit;
+import org.apache.axis2.jaxws.proxy.gorilla_dlw.sei.AssertFault;
+import org.apache.axis2.jaxws.proxy.gorilla_dlw.sei.GorillaInterface;
+
+/**
+ * Tests more complicated Document/Literal Wrapped scenarios
+ *
+ */
+@WebService(targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw",
+        endpointInterface="org.apache.axis2.jaxws.proxy.gorilla_dlw.sei.GorillaInterface")
+public class GorillaProxyImpl implements GorillaInterface {
+
+    /* (non-Javadoc)
+     * @see org.apache.axis2.jaxws.proxy.gorilla_dlw.sei.GorillaInterface#echoString(java.lang.String)
+     */
+    public String echoString(String data) throws AssertFault {
+        return data;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.axis2.jaxws.proxy.gorilla_dlw.sei.GorillaInterface#echoString2(java.lang.String, javax.xml.ws.Holder)
+     */
+    public void echoString2(String data, Holder<String> inout)
+            throws AssertFault {
+        // Combine the strings together.
+        // The strings may be null on input
+        String result = null;
+        if (data != null && inout.value != null) {
+            result = data + inout.value;
+        } else  {
+            result = (data != null) ? data : inout.value;
+        }
+        inout.value = result;
+
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.axis2.jaxws.proxy.gorilla_dlw.sei.GorillaInterface#echoInt(java.lang.Integer)
+     */
+    public Integer echoInt(Integer data) throws AssertFault {
+       return data;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.axis2.jaxws.proxy.gorilla_dlw.sei.GorillaInterface#echoAnyType(java.lang.Object)
+     */
+    public Object echoAnyType(Object data) throws AssertFault {
+        return data;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.axis2.jaxws.proxy.gorilla_dlw.sei.GorillaInterface#echoStringList(java.util.List)
+     */
+    public List<String> echoStringList(List<String> data)
+            throws AssertFault {
+        return data;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.axis2.jaxws.proxy.gorilla_dlw.sei.GorillaInterface#echoStringArray(java.util.List)
+     */
+    public List<String> echoStringArray(List<String> data) throws AssertFault {
+        return data;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.axis2.jaxws.proxy.gorilla_dlw.sei.GorillaInterface#echoString2Array(java.util.List, javax.xml.ws.Holder)
+     */
+    public void echoString2Array(List<String> data, Holder<List<String>> inout)
+            throws AssertFault {
+        inout.value.addAll(data);
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.axis2.jaxws.proxy.gorilla_dlw.sei.GorillaInterface#echoIntArray(java.util.List)
+     */
+    public List<Integer> echoIntArray(List<Integer> data) throws AssertFault {
+        return data;
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.axis2.jaxws.proxy.gorilla_dlw.sei.GorillaInterface#echoAnyTypeArray(java.util.List)
+     */
+    public List<Object> echoAnyTypeArray(List<Object> data) throws AssertFault {
+        return data;
+    }
+
+    public Fruit echoEnum(Fruit data) throws AssertFault {
+        return data;
+    }
+
+    public List<Fruit> echoEnumArray(List<Fruit> data) throws AssertFault {
+        return data;
+    }
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/MANIFEST.MF?view=auto&rev=481563
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/MANIFEST.MF (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/MANIFEST.MF Sat Dec  2 06:26:47 2006
@@ -0,0 +1 @@
+Manifest-Version: 1.0

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/gorilla_dlw.wsdl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/gorilla_dlw.wsdl?view=auto&rev=481563
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/gorilla_dlw.wsdl (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/gorilla_dlw.wsdl Sat Dec  2 06:26:47 2006
@@ -0,0 +1,535 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
+    xmlns:s="http://www.w3.org/2001/XMLSchema" 
+    targetNamespace="http://org/apache/axis2/jaxws/proxy/gorilla_dlw" 
+    xmlns:tns="http://org/apache/axis2/jaxws/proxy/gorilla_dlw" 
+    xmlns:data="http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data"
+    xmlns="http://schemas.xmlsoap.org/wsdl/">
+  <types>
+    <!-- Use elementFormDefault=qualified.  Many users use this setting for interop compatibility -->
+    <s:schema elementFormDefault="qualified" 
+        targetNamespace="http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data" >
+
+      <s:import namespace="http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data2"  />
+
+      <s:element name="assertFault">
+        <s:complexType>
+           <s:sequence>
+             <s:element name="faultData" type="s:string" />
+           </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <s:simpleType name="stringList">   
+        <s:list itemType="s:string"/> 
+      </s:simpleType>
+
+      <s:simpleType name="fruit">
+         <s:restriction base="s:string">
+            <s:enumeration value="apple"/>                      
+            <s:enumeration value="orange"/>                    
+            <s:enumeration value="pear"/>                    
+         </s:restriction>
+      </s:simpleType>
+
+      <s:complexType name="Object0">
+         <s:sequence>
+           <s:element name="data0" type="s:string" />
+         </s:sequence>
+      </s:complexType>
+
+      <!-- Echo a String.  This also supports the situation where there is no string -->
+      <s:element name="echoString">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="data" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoStringResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="result" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo combined String-->
+      <s:element name="echoString2">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="data" type="s:string" />
+            <s:element minOccurs="0" maxOccurs="1" name="inout" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoString2Response">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="inout" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo int -->
+      <s:element name="echoInt">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="data" type="s:int" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoIntResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="result" type="s:int" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo enum -->
+      <s:element name="echoEnum">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="data" type="data:fruit" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoEnumResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="result" type="data:fruit" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo anyType.  Test polymorphism -->
+      <s:element name="echoAnyType">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="data" type="s:anyType" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoAnyTypeResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="result" type="s:anyType" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo stringList.  Tests xsd:list-->
+      <s:element name="echoStringList">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="data" type="data:stringList" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <s:element name="echoStringListResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="result" type="data:stringList" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo a String.  This also supports the situation where there is no string -->
+      <s:element name="echoStringArray">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="data" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoStringArrayResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="result" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo combined String-->
+      <s:element name="echoString2Array">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="data" type="s:string" />
+            <s:element minOccurs="0" maxOccurs="unbounded" name="inout" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoString2ArrayResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="inout" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo int -->
+      <s:element name="echoIntArray">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="data" type="s:int" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoIntArrayResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="result" type="s:int" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo enum -->
+      <s:element name="echoEnumArray">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="data" type="data:fruit" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoEnumArrayResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="result" type="data:fruit" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+      <!-- Echo anyType.  Test polymorphism -->
+      <s:element name="echoAnyTypeArray">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="data" type="s:anyType" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="echoAnyTypeArrayResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="unbounded" name="result" type="s:anyType" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+
+    </s:schema>
+
+    <s:schema elementFormDefault="qualified" 
+        targetNamespace="http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data2" >
+        
+        <!-- For anyType processing,  Object1 is in an imported schema, thus it should be allowed in the anyType -->
+        <s:complexType name="Object1">
+           <s:sequence>
+             <s:element name="data1" type="s:string" />
+           </s:sequence>
+        </s:complexType>
+    </s:schema>
+
+   <s:schema elementFormDefault="qualified" 
+        targetNamespace="http://org/apache/axis2/jaxws/proxy/gorilla_dlw/dataUnref" >
+        
+        <!-- For anyType processing,  Object2 is in an unreferenced schema, thus may fail when used with anyType -->
+        <s:complexType name="Object2">
+           <s:sequence>
+             <s:element name="data2" type="s:string" />
+           </s:sequence>
+        </s:complexType>
+    </s:schema>
+ 
+
+
+  </types>
+
+  <!-- messages -->
+  <message name="assertFault">
+    <part name="x" element="data:assertFault" />
+  </message>
+
+  <message name="echoString">
+    <part name="x" element="data:echoString" />
+  </message>
+  <message name="echoStringResponse">
+    <part name="x" element="data:echoStringResponse" />
+  </message>
+
+  <message name="echoString2">
+    <part name="x" element="data:echoString2" />
+  </message>
+  <message name="echoString2Response">
+    <part name="x" element="data:echoString2Response" />
+  </message>
+
+  <message name="echoInt">
+    <part name="x" element="data:echoInt" />
+  </message>
+  <message name="echoIntResponse">
+    <part name="x" element="data:echoIntResponse" />
+  </message>
+
+  <message name="echoEnum">
+    <part name="x" element="data:echoEnum" />
+  </message>
+  <message name="echoEnumResponse">
+    <part name="x" element="data:echoEnumResponse" />
+  </message>
+
+  <message name="echoAnyType">
+    <part name="x" element="data:echoAnyType" />
+  </message>
+  <message name="echoAnyTypeResponse">
+    <part name="x" element="data:echoAnyTypeResponse" />
+  </message>
+
+  <message name="echoStringList">
+    <part name="x" element="data:echoStringList" />
+  </message>
+  <message name="echoStringListResponse">
+    <part name="x" element="data:echoStringListResponse" />
+  </message>
+
+  <message name="echoStringArray">
+    <part name="x" element="data:echoStringArray" />
+  </message>
+  <message name="echoStringArrayResponse">
+    <part name="x" element="data:echoStringArrayResponse" />
+  </message>
+
+  <message name="echoString2Array">
+    <part name="x" element="data:echoString2Array" />
+  </message>
+  <message name="echoString2ArrayResponse">
+    <part name="x" element="data:echoString2ArrayResponse" />
+  </message>
+
+  <message name="echoIntArray">
+    <part name="x" element="data:echoIntArray" />
+  </message>
+  <message name="echoIntArrayResponse">
+    <part name="x" element="data:echoIntArrayResponse" />
+  </message>
+
+  <message name="echoEnumArray">
+    <part name="x" element="data:echoEnumArray" />
+  </message>
+  <message name="echoEnumArrayResponse">
+    <part name="x" element="data:echoEnumArrayResponse" />
+  </message>
+
+  <message name="echoAnyTypeArray">
+    <part name="x" element="data:echoAnyTypeArray" />
+  </message>
+  <message name="echoAnyTypeArrayResponse">
+    <part name="x" element="data:echoAnyTypeArrayResponse" />
+  </message>
+
+  <!-- operation -->
+  <portType name="GorillaInterface">
+    <operation name="echoString">
+      <input message="tns:echoString" />
+      <output message="tns:echoStringResponse" />
+      <fault name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoString2">
+      <input message="tns:echoString2" />
+      <output message="tns:echoString2Response" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoInt">
+      <input message="tns:echoInt" />
+      <output message="tns:echoIntResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoEnum">
+      <input message="tns:echoEnum" />
+      <output message="tns:echoEnumResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoAnyType">
+      <input message="tns:echoAnyType" />
+      <output message="tns:echoAnyTypeResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoStringList">
+      <input message="tns:echoStringList" />
+      <output message="tns:echoStringListResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+
+    <operation name="echoStringArray">
+      <input message="tns:echoStringArray" />
+      <output message="tns:echoStringArrayResponse" />
+      <fault name="assertFault" message="tns:assertFault" />
+    </operation>
+
+    <operation name="echoString2Array">
+      <input message="tns:echoString2Array" />
+      <output message="tns:echoString2ArrayResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoIntArray">
+      <input message="tns:echoIntArray" />
+      <output message="tns:echoIntArrayResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoEnumArray">
+      <input message="tns:echoEnumArray" />
+      <output message="tns:echoEnumArrayResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+    <operation name="echoAnyTypeArray">
+      <input message="tns:echoAnyTypeArray" />
+      <output message="tns:echoAnyTypeArrayResponse" />
+      <fault  name="assertFault" message="tns:assertFault" />
+    </operation>
+  </portType>
+
+  <!-- binding -->
+  <binding name="GorillaSOAP" type="tns:GorillaInterface">
+    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+    <operation name="echoString">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoString2">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoInt">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoEnum">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoAnyType">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoStringList">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+
+    <operation name="echoStringArray">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoString2Array">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoIntArray">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoEnumArray">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+    <operation name="echoAnyTypeArray">
+      <soap:operation style="document" />
+      <input>
+        <soap:body use="literal" />
+      </input>
+      <output>
+        <soap:body use="literal" />
+      </output>
+      <fault name="assertFault">
+        <soap:fault name="assertFault" use="literal" />
+      </fault>
+    </operation>
+ </binding>
+
+  <service name="GorillaService">
+    <port name="GorillaPort" binding="tns:GorillaSOAP">
+      <soap:address location="http://localhost:9080/axis2/services/GorillaService" />
+    </port>
+  </service>
+</definitions>

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/services.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/services.xml?view=auto&rev=481563
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/services.xml (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/services.xml Sat Dec  2 06:26:47 2006
@@ -0,0 +1,12 @@
+<serviceGroup>
+ <service name="GorillaService">
+  <messageReceivers>
+   <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver"/>
+  </messageReceivers>
+  <parameter locked="false" name="ServiceClass">org.apache.axis2.jaxws.proxy.gorilla_dlw.GorillaProxyImpl</parameter>
+  <operation name="invoke" mep="http://www.w3.org/2004/08/wsdl/in-out">
+    <actionMapping/>
+  </operation>
+ </service>
+</serviceGroup>
+

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/AssertFault.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/AssertFault.java?view=auto&rev=481563
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/AssertFault.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/AssertFault.java Sat Dec  2 06:26:47 2006
@@ -0,0 +1,54 @@
+
+package org.apache.axis2.jaxws.proxy.gorilla_dlw.sei;
+
+import javax.xml.ws.WebFault;
+
+
+/**
+ * This class was generated by the JAXWS SI.
+ * JAX-WS RI 2.0_01-b15-fcs
+ * Generated source version: 2.0
+ * 
+ */
+@WebFault(name = "assertFault", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+public class AssertFault
+    extends Exception
+{
+
+    /**
+     * Java type that goes as soapenv:Fault detail element.
+     * 
+     */
+    private org.apache.axis2.jaxws.proxy.gorilla_dlw.data.AssertFault faultInfo;
+
+    /**
+     * 
+     * @param message
+     * @param faultInfo
+     */
+    public AssertFault(String message, org.apache.axis2.jaxws.proxy.gorilla_dlw.data.AssertFault faultInfo) {
+        super(message);
+        this.faultInfo = faultInfo;
+    }
+
+    /**
+     * 
+     * @param cause
+     * @param message
+     * @param faultInfo
+     */
+    public AssertFault(String message, org.apache.axis2.jaxws.proxy.gorilla_dlw.data.AssertFault faultInfo, Throwable cause) {
+        super(message, cause);
+        this.faultInfo = faultInfo;
+    }
+
+    /**
+     * 
+     * @return
+     *     returns fault bean: org.apache.axis2.jaxws.proxy.gorilla_dlw.data.AssertFault
+     */
+    public org.apache.axis2.jaxws.proxy.gorilla_dlw.data.AssertFault getFaultInfo() {
+        return faultInfo;
+    }
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/GorillaInterface.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/GorillaInterface.java?view=auto&rev=481563
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/GorillaInterface.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/GorillaInterface.java Sat Dec  2 06:26:47 2006
@@ -0,0 +1,213 @@
+
+package org.apache.axis2.jaxws.proxy.gorilla_dlw.sei;
+
+import java.util.List;
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebParam.Mode;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.xml.ws.Holder;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+import org.apache.axis2.jaxws.proxy.gorilla_dlw.data.Fruit;
+
+
+/**
+ * This class was generated by the JAXWS SI.
+ * JAX-WS RI 2.0_01-b15-fcs
+ * Generated source version: 2.0
+ * 
+ */
+@WebService(name = "GorillaInterface", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw")
+public interface GorillaInterface {
+
+
+    /**
+     * 
+     * @param data
+     * @return
+     *     returns java.lang.String
+     * @throws AssertFault
+     */
+    @WebMethod
+    @WebResult(name = "result", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+    @RequestWrapper(localName = "echoString", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoString")
+    @ResponseWrapper(localName = "echoStringResponse", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoStringResponse")
+    public String echoString(
+        @WebParam(name = "data", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+        String data)
+        throws AssertFault
+    ;
+
+    /**
+     * 
+     * @param data
+     * @param inout
+     * @throws AssertFault
+     */
+    @WebMethod
+    @RequestWrapper(localName = "echoString2", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoString2")
+    @ResponseWrapper(localName = "echoString2Response", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoString2Response")
+    public void echoString2(
+        @WebParam(name = "data", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+        String data,
+        @WebParam(name = "inout", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", mode = Mode.INOUT)
+        Holder<String> inout)
+        throws AssertFault
+    ;
+
+    /**
+     * 
+     * @param data
+     * @return
+     *     returns java.lang.Integer
+     * @throws AssertFault
+     */
+    @WebMethod
+    @WebResult(name = "result", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+    @RequestWrapper(localName = "echoInt", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoInt")
+    @ResponseWrapper(localName = "echoIntResponse", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoIntResponse")
+    public Integer echoInt(
+        @WebParam(name = "data", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+        Integer data)
+        throws AssertFault
+    ;
+
+    /**
+     * 
+     * @param data
+     * @return
+     *     returns org.apache.axis2.jaxws.proxy.gorilla_dlw.data.Fruit
+     * @throws AssertFault
+     */
+    @WebMethod
+    @WebResult(name = "result", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+    @RequestWrapper(localName = "echoEnum", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoEnum")
+    @ResponseWrapper(localName = "echoEnumResponse", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoEnumResponse")
+    public Fruit echoEnum(
+        @WebParam(name = "data", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+        Fruit data)
+        throws AssertFault
+    ;
+
+    /**
+     * 
+     * @param data
+     * @return
+     *     returns java.lang.Object
+     * @throws AssertFault
+     */
+    @WebMethod
+    @WebResult(name = "result", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+    @RequestWrapper(localName = "echoAnyType", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoAnyType")
+    @ResponseWrapper(localName = "echoAnyTypeResponse", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoAnyTypeResponse")
+    public Object echoAnyType(
+        @WebParam(name = "data", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+        Object data)
+        throws AssertFault
+    ;
+
+    /**
+     * 
+     * @param data
+     * @return
+     *     returns java.util.List<java.util.List<java.lang.String>>
+     * @throws AssertFault
+     */
+    @WebMethod
+    @WebResult(name = "result", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+    @RequestWrapper(localName = "echoStringList", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoStringList")
+    @ResponseWrapper(localName = "echoStringListResponse", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoStringListResponse")
+    public List<String> echoStringList(
+        @WebParam(name = "data", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+        List<String> data)
+        throws AssertFault
+    ;
+
+    /**
+     * 
+     * @param data
+     * @return
+     *     returns java.util.List<java.lang.String>
+     * @throws AssertFault
+     */
+    @WebMethod
+    @WebResult(name = "result", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+    @RequestWrapper(localName = "echoStringArray", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoStringArray")
+    @ResponseWrapper(localName = "echoStringArrayResponse", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoStringArrayResponse")
+    public List<String> echoStringArray(
+        @WebParam(name = "data", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+        List<String> data)
+        throws AssertFault
+    ;
+
+    /**
+     * 
+     * @param data
+     * @param inout
+     * @throws AssertFault
+     */
+    @WebMethod
+    @RequestWrapper(localName = "echoString2Array", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoString2Array")
+    @ResponseWrapper(localName = "echoString2ArrayResponse", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoString2ArrayResponse")
+    public void echoString2Array(
+        @WebParam(name = "data", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+        List<String> data,
+        @WebParam(name = "inout", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", mode = Mode.INOUT)
+        Holder<List<String>> inout)
+        throws AssertFault
+    ;
+
+    /**
+     * 
+     * @param data
+     * @return
+     *     returns java.util.List<java.lang.Integer>
+     * @throws AssertFault
+     */
+    @WebMethod
+    @WebResult(name = "result", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+    @RequestWrapper(localName = "echoIntArray", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoIntArray")
+    @ResponseWrapper(localName = "echoIntArrayResponse", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoIntArrayResponse")
+    public List<Integer> echoIntArray(
+        @WebParam(name = "data", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+        List<Integer> data)
+        throws AssertFault
+    ;
+
+    /**
+     * 
+     * @param data
+     * @return
+     *     returns java.util.List<org.apache.axis2.jaxws.proxy.gorilla_dlw.data.Fruit>
+     * @throws AssertFault
+     */
+    @WebMethod
+    @WebResult(name = "result", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+    @RequestWrapper(localName = "echoEnumArray", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoEnumArray")
+    @ResponseWrapper(localName = "echoEnumArrayResponse", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoEnumArrayResponse")
+    public List<Fruit> echoEnumArray(
+        @WebParam(name = "data", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+        List<Fruit> data)
+        throws AssertFault
+    ;
+
+    /**
+     * 
+     * @param data
+     * @return
+     *     returns java.util.List<java.lang.Object>
+     * @throws AssertFault
+     */
+    @WebMethod
+    @WebResult(name = "result", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+    @RequestWrapper(localName = "echoAnyTypeArray", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoAnyTypeArray")
+    @ResponseWrapper(localName = "echoAnyTypeArrayResponse", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data", className = "org.apache.axis2.jaxws.proxy.gorilla_dlw.data.EchoAnyTypeArrayResponse")
+    public List<Object> echoAnyTypeArray(
+        @WebParam(name = "data", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw/data")
+        List<Object> data)
+        throws AssertFault
+    ;
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/GorillaService.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/GorillaService.java?view=auto&rev=481563
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/GorillaService.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/gorilla_dlw/sei/GorillaService.java Sat Dec  2 06:26:47 2006
@@ -0,0 +1,53 @@
+
+package org.apache.axis2.jaxws.proxy.gorilla_dlw.sei;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+
+
+/**
+ * This class was generated by the JAXWS SI.
+ * JAX-WS RI 2.0_01-b15-fcs
+ * Generated source version: 2.0
+ * 
+ */
+@WebServiceClient(name = "GorillaService", targetNamespace = "http://org/apache/axis2/jaxws/proxy/gorilla_dlw", wsdlLocation = "gorilla_dlw.wsdl")
+public class GorillaService
+    extends Service
+{
+
+    private final static URL GORILLASERVICE_WSDL_LOCATION;
+
+    static {
+        URL url = null;
+        try {
+            url = new URL("file:/C:/compwsdl/gorilla_dlw.wsdl");
+        } catch (MalformedURLException e) {
+            e.printStackTrace();
+        }
+        GORILLASERVICE_WSDL_LOCATION = url;
+    }
+
+    public GorillaService(URL wsdlLocation, QName serviceName) {
+        super(wsdlLocation, serviceName);
+    }
+
+    public GorillaService() {
+        super(GORILLASERVICE_WSDL_LOCATION, new QName("http://org/apache/axis2/jaxws/proxy/gorilla_dlw", "GorillaService"));
+    }
+
+    /**
+     * 
+     * @return
+     *     returns GorillaInterface
+     */
+    @WebEndpoint(name = "GorillaPort")
+    public GorillaInterface getGorillaPort() {
+        return (GorillaInterface)super.getPort(new QName("http://org/apache/axis2/jaxws/proxy/gorilla_dlw", "GorillaPort"), GorillaInterface.class);
+    }
+
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org