You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sc...@apache.org on 2006/11/17 22:43:43 UTC

svn commit: r476332 - in /webservices/axis2/trunk/java/modules: jaxws/ jaxws/src/org/apache/axis2/jaxws/client/proxy/ jaxws/src/org/apache/axis2/jaxws/message/util/ jaxws/src/org/apache/axis2/jaxws/server/dispatcher/ jaxws/test-resources/wsdl/ jaxws/te...

Author: scheu
Date: Fri Nov 17 13:43:42 2006
New Revision: 476332

URL: http://svn.apache.org/viewvc?view=rev&rev=476332
Log:
AXIS2-1730 AXIS2-1741
Contributor: Rich Scheuerle
JAX-WS RPC Proxy/Provider Test.  A simple echo to the rpc service is tested.  I will add follow-on tests.
Also made a change to fix a class cast exception

Added:
    webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/RPCLit.wsdl
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/RPCProxyTests.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/MANIFEST.MF
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/RPCLit.wsdl
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/services.xml
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/RPCLitImpl.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/sei/
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/sei/RPCLit.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/sei/RPCLitService.java
Modified:
    webservices/axis2/trunk/java/modules/jaxws/maven.xml
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/JavaBeanDispatcher.java
    webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/framework/JAXWSTest.java
    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/TransportHeaders.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=476332&r1=476331&r2=476332
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/maven.xml (original)
+++ webservices/axis2/trunk/java/modules/jaxws/maven.xml Fri Nov 17 13:43:42 2006
@@ -78,6 +78,13 @@
 			<classpath location="${compiled.classes.dir}"/>
 			<arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/ProxyDocLitnonWrapped.wsdl"/>
 		</java>
+		<ant:echo>Generating java from RPCLit.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} -p org.test.proxy.rpclit -quiet -wsdl ${wsdl.source.dir}/RPCLit.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}"/>
@@ -284,6 +291,17 @@
 						<ant:include name="org/apache/axis2/jaxws/proxy/doclitnonwrapped/**"/>
 					</ant:fileset>
 					<ant:fileset dir="test/org/apache/axis2/jaxws/proxy/doclitnonwrapped">
+		                <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/RPCLit/">
+					<ant:fileset dir="target/test-classes">
+						<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">

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java?view=diff&rev=476332&r1=476331&r2=476332
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/client/proxy/JAXWSProxyHandler.java Fri Nov 17 13:43:42 2006
@@ -417,7 +417,7 @@
 	private MethodMarshaller createRPCLitMethodMarshaller(MethodMarshallerFactory cf){
         //    FIXME: The protocol should actually come from the binding information included in
         // either the WSDL or an annotation.
-        return cf.createMethodMarshaller(SOAPBinding.Style.DOCUMENT, SOAPBinding.ParameterStyle.WRAPPED,
+        return cf.createMethodMarshaller(SOAPBinding.Style.RPC, SOAPBinding.ParameterStyle.WRAPPED,
                 serviceDesc, endpointDesc, operationDesc, Protocol.soap11, true);
 	}
 	protected boolean isDocLitBare(){

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java?view=diff&rev=476332&r1=476331&r2=476332
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/util/MessageUtils.java Fri Nov 17 13:43:42 2006
@@ -20,6 +20,7 @@
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 import javax.activation.DataHandler;
 import javax.xml.namespace.QName;
@@ -52,6 +53,7 @@
 import org.apache.axis2.jaxws.message.attachments.AttachmentUtils;
 import org.apache.axis2.jaxws.message.factory.MessageFactory;
 import org.apache.axis2.jaxws.registry.FactoryRegistry;
+import org.apache.axis2.transport.http.TransportHeaders;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.http.Header;
@@ -168,7 +170,7 @@
             
             // Add all the MimeHeaders from the Axis2 MessageContext
             MimeHeaders mhs = message.getMimeHeaders();
-            HashMap headerMap = (HashMap) msgContext.getProperty(MessageContext.TRANSPORT_HEADERS);
+            Map headerMap = (Map) msgContext.getProperty(MessageContext.TRANSPORT_HEADERS);
             if (headerMap != null) {
                 Iterator it = headerMap.keySet().iterator();
                 while (it.hasNext()) {
@@ -259,7 +261,7 @@
         
         // Put the Headers onto the MessageContext
         // TODO: Merge with latest TransportHeaders impl.
-        HashMap headerMap = new HashMap();
+        Map headerMap = new HashMap();
         for (Iterator it = message.getMimeHeaders().getAllHeaders(); it.hasNext();) {
             MimeHeader mh = (MimeHeader) it.next();
             headerMap.put(mh.getName(), mh.getValue());

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/JavaBeanDispatcher.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/JavaBeanDispatcher.java?view=diff&rev=476332&r1=476331&r2=476332
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/JavaBeanDispatcher.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/dispatcher/JavaBeanDispatcher.java Fri Nov 17 13:43:42 2006
@@ -191,9 +191,7 @@
 		if(styleOnMethod!=null && styleOnSEI!=styleOnMethod){
 			throw ExceptionFactory.makeWebServiceException(Messages.getMessage("proxyErr2"));
 		}
-		if(styleOnSEI == javax.jws.soap.SOAPBinding.Style.RPC){
-			throw new UnsupportedOperationException("RPC/LIT not supported.");
-		}
+		
 		
 		MethodMarshallerFactory cf = (MethodMarshallerFactory) FactoryRegistry.getFactory(MethodMarshallerFactory.class);
 		

Added: webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/RPCLit.wsdl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/RPCLit.wsdl?view=auto&rev=476332
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/RPCLit.wsdl (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test-resources/wsdl/RPCLit.wsdl Fri Nov 17 13:43:42 2006
@@ -0,0 +1,465 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://org/apache/axis2/jaxws/proxy/rpclit" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://org/apache/axis2/jaxws/proxy/rpclit" xmlns:intf="http://org/apache/axis2/jaxws/proxy/rpclit" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+  <schema targetNamespace="http://org/apache/axis2/jaxws/proxy/rpclit" xmlns="http://www.w3.org/2001/XMLSchema">
+  
+  <!-- Example of a QName list.  This should map to javax.xml.namespace.QName[] -->
+   <xsd:simpleType name="QNameList">
+      <xsd:list itemType="xsd:QName"/>
+   </xsd:simpleType>
+   <element name="QNameList" nillable="true" type="impl:QNameList"/>
+
+  <!-- Example of a Calendar list.  This should map to java.util.Calendar[] -->
+   <xsd:simpleType name="CalendarList">   
+      <xsd:list itemType="xsd:dateTime"/> 
+   </xsd:simpleType>                 
+   <element name="CalendarList" nillable="true" type="impl:CalendarList"/>
+  
+  <!-- Example of a String list.  This should map to java.lang.String[] -->
+   <xsd:simpleType name="StringList">   
+      <xsd:list itemType="xsd:string"/> 
+   </xsd:simpleType>
+   <element name="StringList" nillable="true" type="impl:StringList"/>
+  
+  <!-- Example of a xsd:negativeInteger list.  This should map to java.math.BigInteger[] -->
+   <xsd:simpleType name="BigIntegerList">
+      <xsd:restriction>     
+          <xsd:simpleType> 
+             <xsd:list itemType="xsd:negativeInteger"/>
+          </xsd:simpleType>
+      </xsd:restriction>
+   </xsd:simpleType>
+   <element name="BigIntegerList" nillable="true" type="impl:BigIntegerList"/>
+  
+  <!-- Example of a xsd:unsignedInt list.  This should map to long[] -->
+   <xsd:simpleType name="LongList">
+      <xsd:list>
+          <xsd:simpleType>
+             <xsd:restriction base="xsd:unsignedInt"/>
+          </xsd:simpleType>
+      </xsd:list>
+   </xsd:simpleType>
+   <element name="LongList" nillable="true" type="impl:LongList"/>
+   
+  <!-- Example of an Enumeration type.  This should map to Enum.java -->  
+   <xsd:simpleType name="Enum">
+      <xsd:restriction base="xsd:string">
+          <xsd:enumeration value="one"/>                      
+          <xsd:enumeration value="two"/>                    
+          <xsd:enumeration value="three"/>                    
+      </xsd:restriction>
+   </xsd:simpleType>
+   <element name="Enum" nillable="true" type="impl:Enum"/>
+ 
+  <!-- Example of a xsd:enumeration list.  This should map to Enum[] -->  
+   <xsd:simpleType name="EnumList">
+      <xsd:list itemType="impl:Enum"/> 
+   </xsd:simpleType>
+   <element name="EnumList" nillable="true" type="impl:EnumList"/>
+  
+  <!-- Example of a xsd:enumeration embedded list.  This should map to EnumList2[] --> 
+   <xsd:simpleType name="EnumList2">
+      <xsd:list>
+          <xsd:simpleType>
+            <xsd:restriction base="xsd:string">
+              <xsd:enumeration value="Apple" />
+              <xsd:enumeration value="Orange" />
+              <xsd:enumeration value="Grape" />
+            </xsd:restriction>
+          </xsd:simpleType>
+      </xsd:list>
+   </xsd:simpleType>
+   <element name="EnumList2" nillable="true" type="impl:EnumList2"/> 
+
+   <xsd:complexType name="complexAll">
+      <xsd:all>
+          <xsd:element name="myInt" type="xsd:int"/>
+          <xsd:element name="myString" type="xsd:string"/>
+          <xsd:element name="Enum" type="impl:Enum"/>
+          <xsd:element name="myQNameList" type="impl:QNameList"/>
+          <xsd:element name="myCalendarList" type="impl:CalendarList"/>
+          <xsd:element name="myStringList" type="impl:StringList"/>
+          <xsd:element name="myBigIntegerList" type="impl:BigIntegerList"/>
+          <xsd:element name="myLongList" type="impl:LongList"/>
+          <xsd:element name="myEnumList" type="impl:EnumList"/>
+          <xsd:element name="myEnumList2" type="impl:EnumList2"/>
+      </xsd:all>
+   </xsd:complexType>
+  </schema>
+ </wsdl:types>
+
+   <wsdl:message name="testListsResponse">
+
+      <wsdl:part name="testListsReturn" type="impl:QNameList"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testListsRequest">
+
+      <wsdl:part name="arg_0_0" type="impl:QNameList"/>
+
+      <wsdl:part name="arg_1_0" type="impl:CalendarList"/>
+
+      <wsdl:part name="arg_2_0" type="impl:StringList"/>
+      
+      <wsdl:part name="arg_3_0" type="impl:BigIntegerList"/>
+      
+      <wsdl:part name="arg_4_0" type="impl:LongList"/>
+      
+      <wsdl:part name="arg_5_0" type="impl:EnumList"/>
+      
+      <wsdl:part name="arg_7_0" type="impl:EnumList2"/>
+      
+      <wsdl:part name="arg_6_0" type="impl:complexAll"/>
+
+   </wsdl:message>
+   
+   
+   <wsdl:message name="testCalendarList1Response">
+
+      <wsdl:part name="testCalendarList1Return" type="impl:CalendarList"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testCalendarList1Request">
+
+      <wsdl:part name="arg_1_0" type="impl:CalendarList"/>
+
+   </wsdl:message>
+   
+   <wsdl:message name="testStringList2Response">
+
+      <wsdl:part name="testStringList2Return" type="impl:StringList"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testStringList2Request">
+
+      <wsdl:part name="arg_2_0" type="impl:StringList"/>
+
+   </wsdl:message>
+   
+   <wsdl:message name="testBigIntegerList3Response">
+
+      <wsdl:part name="testBigIntegerList3Return" type="impl:BigIntegerList"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testBigIntegerList3Request">
+
+      <wsdl:part name="arg_3_0" type="impl:BigIntegerList"/>
+
+   </wsdl:message>
+   
+   <wsdl:message name="testLongList4Response">
+
+      <wsdl:part name="testLongList4Return" type="impl:LongList"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testLongList4Request">
+
+      <wsdl:part name="arg_4_0" type="impl:LongList"/>
+
+   </wsdl:message>
+   
+   <wsdl:message name="testEnumList5Response">
+
+      <wsdl:part name="testEnumList5Return" type="impl:EnumList"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testEnumList5Request">
+
+      <wsdl:part name="arg_5_0" type="impl:EnumList"/>
+
+   </wsdl:message>
+   
+   <wsdl:message name="testEnumList7Response">
+
+      <wsdl:part name="testEnumList7Return" type="impl:EnumList2"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testEnumList7Request">
+
+      <wsdl:part name="arg_7_0" type="impl:EnumList2"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testComplexAll6Response">
+
+      <wsdl:part name="testComplexAll6Return" type="impl:complexAll"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testComplexAll6Request">
+
+      <wsdl:part name="arg_6_0" type="impl:complexAll"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testSimpleRequest">
+
+      <wsdl:part name="simpleIn" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testSimpleResponse">
+
+      <wsdl:part name="simpleOut" type="xsd:string"/>
+
+   </wsdl:message>
+
+
+  
+
+   <wsdl:portType name="RPCLit">
+     
+      <wsdl:operation name="testSimple" parameterOrder="simpleIn">
+
+         <wsdl:input message="impl:testSimpleRequest" name="testSimpleRequest"/>
+
+         <wsdl:output message="impl:testSimpleResponse" name="testSimpleResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="testLists" parameterOrder="arg_0_0 arg_1_0 arg_2_0 arg_3_0 arg_4_0 arg_5_0 arg_7_0 arg_6_0">
+
+         <wsdl:input message="impl:testListsRequest" name="testListsRequest"/>
+
+         <wsdl:output message="impl:testListsResponse" name="testListsResponse"/>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testCalendarList1" parameterOrder="arg_1_0">
+
+         <wsdl:input message="impl:testCalendarList1Request" name="testCalendarList1Request"/>
+
+         <wsdl:output message="impl:testCalendarList1Response" name="testCalendarList1Response"/>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testStringList2" parameterOrder="arg_2_0">
+
+         <wsdl:input message="impl:testStringList2Request" name="testStringList2Request"/>
+
+         <wsdl:output message="impl:testStringList2Response" name="testStringList2Response"/>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testBigIntegerList3" parameterOrder="arg_3_0">
+
+         <wsdl:input message="impl:testBigIntegerList3Request" name="testBigIntegerList3Request"/>
+
+         <wsdl:output message="impl:testBigIntegerList3Response" name="testBigIntegerList3Response"/>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testLongList4" parameterOrder="arg_4_0">
+
+         <wsdl:input message="impl:testLongList4Request" name="testLongList4Request"/>
+
+         <wsdl:output message="impl:testLongList4Response" name="testLongList4Response"/>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testEnumList5" parameterOrder="arg_5_0">
+
+         <wsdl:input message="impl:testEnumList5Request" name="testEnumList5Request"/>
+
+         <wsdl:output message="impl:testEnumList5Response" name="testEnumList5Response"/>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testEnumList7" parameterOrder="arg_7_0">
+
+         <wsdl:input message="impl:testEnumList7Request" name="testEnumList7Request"/>
+
+         <wsdl:output message="impl:testEnumList7Response" name="testEnumList7Response"/>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testComplexAll6" parameterOrder="arg_6_0">
+
+         <wsdl:input message="impl:testComplexAll6Request" name="testComplexAll6Request"/>
+
+         <wsdl:output message="impl:testComplexAll6Response" name="testComplexAll6Response"/>
+
+      </wsdl:operation>
+      
+   </wsdl:portType>
+
+   <wsdl:binding name="RPCLitSoapBinding" type="impl:RPCLit">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+     <wsdl:operation name="testSimple">
+
+         <wsdl:input name="testSimpleRequest">
+               <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+         </wsdl:input>
+
+         <wsdl:output name="testSimpleResponse">
+               <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="testLists">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testListsRequest">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testListsResponse">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testCalendarList1">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testCalendarList1Request">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testCalendarList1Response">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testStringList2">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testStringList2Request">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testStringList2Response">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testBigIntegerList3">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testBigIntegerList3Request">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testBigIntegerList3Response">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testLongList4">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testLongList4Request">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testLongList4Response">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testEnumList5">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testEnumList5Request">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testEnumList5Response">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testEnumList7">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testEnumList7Request">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testEnumList7Response">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testComplexAll6">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testComplexAll6Request">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testComplexAll6Response">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>      
+
+   </wsdl:binding>
+
+   <wsdl:service name="RPCLitService">
+
+      <wsdl:port binding="impl:RPCLitSoapBinding" name="RPCLit">
+
+         <wsdlsoap:address location="http://localhost:9080/axis2/services/RPCLitService"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl: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=476332&r1=476331&r2=476332
==============================================================================
--- 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 Fri Nov 17 13:43:42 2006
@@ -56,6 +56,7 @@
 import org.apache.axis2.jaxws.provider.StringProviderTests;
 import org.apache.axis2.jaxws.proxy.ProxyNonWrappedTests;
 import org.apache.axis2.jaxws.proxy.ProxyTests;
+import org.apache.axis2.jaxws.proxy.RPCProxyTests;
 import org.apache.axis2.jaxws.sample.AddNumbersTests;
 import org.apache.axis2.jaxws.sample.AddressBookTests;
 import org.apache.axis2.jaxws.sample.BareTests;
@@ -117,6 +118,7 @@
         suite.addTestSuite(JAXBProviderTests.class);
         suite.addTestSuite(ProxyTests.class);
         suite.addTestSuite(ProxyNonWrappedTests.class);
+        suite.addTestSuite(RPCProxyTests.class);
         suite.addTestSuite(ExceptionFactoryTests.class);
         suite.addTestSuite(BasicAuthSecurityTests.class);
 

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/RPCProxyTests.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/RPCProxyTests.java?view=auto&rev=476332
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/RPCProxyTests.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/RPCProxyTests.java Fri Nov 17 13:43:42 2006
@@ -0,0 +1,74 @@
+/*
+ * 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.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.Service;
+
+import org.apache.axis2.jaxws.proxy.rpclit.sei.RPCLit;
+
+import junit.framework.TestCase;
+
+public class RPCProxyTests extends TestCase {
+
+    private QName serviceName = new QName(
+            "http://org.apache.axis2.jaxws.proxy.rpclit", "RPCLitService");
+    private String axisEndpoint = "http://localhost:8080/axis2/services/RPCLitService";
+    private QName portName = new QName("http://org.apache.axis2.jaxws.proxy.rpclit",
+            "RPCLit");
+    private String wsdlLocation = "test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/RPCLit.wsdl";
+    
+    /**
+     * Utility method to get the proxy
+     * @return RPCLit proxy
+     * @throws MalformedURLException
+     */
+    public RPCLit getProxy() throws MalformedURLException {
+        File wsdl= new File(wsdlLocation); 
+        URL wsdlUrl = wsdl.toURL(); 
+        Service service = Service.create(null, serviceName);
+        Object proxy =service.getPort(portName, RPCLit.class);
+        BindingProvider p = (BindingProvider)proxy; 
+        p.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,axisEndpoint);
+        
+        return (RPCLit)proxy;
+    }
+    
+    /**
+     * Simple test that ensures that we can echo a string to an rpc/lit web service
+     */
+    public void testSimple() throws Exception {
+        try{ 
+            RPCLit proxy = getProxy();
+            String request = "This is a test...";
+           
+            String response = proxy.testSimple(request);
+            assert(response != null);
+            assert(response.equals(request));
+        }catch(Exception e){ 
+            e.printStackTrace(); 
+            fail("Exception received" + e);
+        }
+    }
+}

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/MANIFEST.MF?view=auto&rev=476332
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/MANIFEST.MF (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/MANIFEST.MF Fri Nov 17 13:43:42 2006
@@ -0,0 +1 @@
+Manifest-Version: 1.0

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/RPCLit.wsdl
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/RPCLit.wsdl?view=auto&rev=476332
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/RPCLit.wsdl (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/RPCLit.wsdl Fri Nov 17 13:43:42 2006
@@ -0,0 +1,465 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions targetNamespace="http://org/apache/axis2/jaxws/proxy/rpclit" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://org/apache/axis2/jaxws/proxy/rpclit" xmlns:intf="http://org/apache/axis2/jaxws/proxy/rpclit" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <wsdl:types>
+  <schema targetNamespace="http://org/apache/axis2/jaxws/proxy/rpclit" xmlns="http://www.w3.org/2001/XMLSchema">
+  
+  <!-- Example of a QName list.  This should map to javax.xml.namespace.QName[] -->
+   <xsd:simpleType name="QNameList">
+      <xsd:list itemType="xsd:QName"/>
+   </xsd:simpleType>
+   <element name="QNameList" nillable="true" type="impl:QNameList"/>
+
+  <!-- Example of a Calendar list.  This should map to java.util.Calendar[] -->
+   <xsd:simpleType name="CalendarList">   
+      <xsd:list itemType="xsd:dateTime"/> 
+   </xsd:simpleType>                 
+   <element name="CalendarList" nillable="true" type="impl:CalendarList"/>
+  
+  <!-- Example of a String list.  This should map to java.lang.String[] -->
+   <xsd:simpleType name="StringList">   
+      <xsd:list itemType="xsd:string"/> 
+   </xsd:simpleType>
+   <element name="StringList" nillable="true" type="impl:StringList"/>
+  
+  <!-- Example of a xsd:negativeInteger list.  This should map to java.math.BigInteger[] -->
+   <xsd:simpleType name="BigIntegerList">
+      <xsd:restriction>     
+          <xsd:simpleType> 
+             <xsd:list itemType="xsd:negativeInteger"/>
+          </xsd:simpleType>
+      </xsd:restriction>
+   </xsd:simpleType>
+   <element name="BigIntegerList" nillable="true" type="impl:BigIntegerList"/>
+  
+  <!-- Example of a xsd:unsignedInt list.  This should map to long[] -->
+   <xsd:simpleType name="LongList">
+      <xsd:list>
+          <xsd:simpleType>
+             <xsd:restriction base="xsd:unsignedInt"/>
+          </xsd:simpleType>
+      </xsd:list>
+   </xsd:simpleType>
+   <element name="LongList" nillable="true" type="impl:LongList"/>
+   
+  <!-- Example of an Enumeration type.  This should map to Enum.java -->  
+   <xsd:simpleType name="Enum">
+      <xsd:restriction base="xsd:string">
+          <xsd:enumeration value="one"/>                      
+          <xsd:enumeration value="two"/>                    
+          <xsd:enumeration value="three"/>                    
+      </xsd:restriction>
+   </xsd:simpleType>
+   <element name="Enum" nillable="true" type="impl:Enum"/>
+ 
+  <!-- Example of a xsd:enumeration list.  This should map to Enum[] -->  
+   <xsd:simpleType name="EnumList">
+      <xsd:list itemType="impl:Enum"/> 
+   </xsd:simpleType>
+   <element name="EnumList" nillable="true" type="impl:EnumList"/>
+  
+  <!-- Example of a xsd:enumeration embedded list.  This should map to EnumList2[] --> 
+   <xsd:simpleType name="EnumList2">
+      <xsd:list>
+          <xsd:simpleType>
+            <xsd:restriction base="xsd:string">
+              <xsd:enumeration value="Apple" />
+              <xsd:enumeration value="Orange" />
+              <xsd:enumeration value="Grape" />
+            </xsd:restriction>
+          </xsd:simpleType>
+      </xsd:list>
+   </xsd:simpleType>
+   <element name="EnumList2" nillable="true" type="impl:EnumList2"/> 
+
+   <xsd:complexType name="complexAll">
+      <xsd:all>
+          <xsd:element name="myInt" type="xsd:int"/>
+          <xsd:element name="myString" type="xsd:string"/>
+          <xsd:element name="Enum" type="impl:Enum"/>
+          <xsd:element name="myQNameList" type="impl:QNameList"/>
+          <xsd:element name="myCalendarList" type="impl:CalendarList"/>
+          <xsd:element name="myStringList" type="impl:StringList"/>
+          <xsd:element name="myBigIntegerList" type="impl:BigIntegerList"/>
+          <xsd:element name="myLongList" type="impl:LongList"/>
+          <xsd:element name="myEnumList" type="impl:EnumList"/>
+          <xsd:element name="myEnumList2" type="impl:EnumList2"/>
+      </xsd:all>
+   </xsd:complexType>
+  </schema>
+ </wsdl:types>
+
+   <wsdl:message name="testListsResponse">
+
+      <wsdl:part name="testListsReturn" type="impl:QNameList"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testListsRequest">
+
+      <wsdl:part name="arg_0_0" type="impl:QNameList"/>
+
+      <wsdl:part name="arg_1_0" type="impl:CalendarList"/>
+
+      <wsdl:part name="arg_2_0" type="impl:StringList"/>
+      
+      <wsdl:part name="arg_3_0" type="impl:BigIntegerList"/>
+      
+      <wsdl:part name="arg_4_0" type="impl:LongList"/>
+      
+      <wsdl:part name="arg_5_0" type="impl:EnumList"/>
+      
+      <wsdl:part name="arg_7_0" type="impl:EnumList2"/>
+      
+      <wsdl:part name="arg_6_0" type="impl:complexAll"/>
+
+   </wsdl:message>
+   
+   
+   <wsdl:message name="testCalendarList1Response">
+
+      <wsdl:part name="testCalendarList1Return" type="impl:CalendarList"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testCalendarList1Request">
+
+      <wsdl:part name="arg_1_0" type="impl:CalendarList"/>
+
+   </wsdl:message>
+   
+   <wsdl:message name="testStringList2Response">
+
+      <wsdl:part name="testStringList2Return" type="impl:StringList"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testStringList2Request">
+
+      <wsdl:part name="arg_2_0" type="impl:StringList"/>
+
+   </wsdl:message>
+   
+   <wsdl:message name="testBigIntegerList3Response">
+
+      <wsdl:part name="testBigIntegerList3Return" type="impl:BigIntegerList"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testBigIntegerList3Request">
+
+      <wsdl:part name="arg_3_0" type="impl:BigIntegerList"/>
+
+   </wsdl:message>
+   
+   <wsdl:message name="testLongList4Response">
+
+      <wsdl:part name="testLongList4Return" type="impl:LongList"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testLongList4Request">
+
+      <wsdl:part name="arg_4_0" type="impl:LongList"/>
+
+   </wsdl:message>
+   
+   <wsdl:message name="testEnumList5Response">
+
+      <wsdl:part name="testEnumList5Return" type="impl:EnumList"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testEnumList5Request">
+
+      <wsdl:part name="arg_5_0" type="impl:EnumList"/>
+
+   </wsdl:message>
+   
+   <wsdl:message name="testEnumList7Response">
+
+      <wsdl:part name="testEnumList7Return" type="impl:EnumList2"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testEnumList7Request">
+
+      <wsdl:part name="arg_7_0" type="impl:EnumList2"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testComplexAll6Response">
+
+      <wsdl:part name="testComplexAll6Return" type="impl:complexAll"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testComplexAll6Request">
+
+      <wsdl:part name="arg_6_0" type="impl:complexAll"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testSimpleRequest">
+
+      <wsdl:part name="simpleIn" type="xsd:string"/>
+
+   </wsdl:message>
+
+   <wsdl:message name="testSimpleResponse">
+
+      <wsdl:part name="simpleOut" type="xsd:string"/>
+
+   </wsdl:message>
+
+
+  
+
+   <wsdl:portType name="RPCLit">
+     
+      <wsdl:operation name="testSimple" parameterOrder="simpleIn">
+
+         <wsdl:input message="impl:testSimpleRequest" name="testSimpleRequest"/>
+
+         <wsdl:output message="impl:testSimpleResponse" name="testSimpleResponse"/>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="testLists" parameterOrder="arg_0_0 arg_1_0 arg_2_0 arg_3_0 arg_4_0 arg_5_0 arg_7_0 arg_6_0">
+
+         <wsdl:input message="impl:testListsRequest" name="testListsRequest"/>
+
+         <wsdl:output message="impl:testListsResponse" name="testListsResponse"/>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testCalendarList1" parameterOrder="arg_1_0">
+
+         <wsdl:input message="impl:testCalendarList1Request" name="testCalendarList1Request"/>
+
+         <wsdl:output message="impl:testCalendarList1Response" name="testCalendarList1Response"/>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testStringList2" parameterOrder="arg_2_0">
+
+         <wsdl:input message="impl:testStringList2Request" name="testStringList2Request"/>
+
+         <wsdl:output message="impl:testStringList2Response" name="testStringList2Response"/>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testBigIntegerList3" parameterOrder="arg_3_0">
+
+         <wsdl:input message="impl:testBigIntegerList3Request" name="testBigIntegerList3Request"/>
+
+         <wsdl:output message="impl:testBigIntegerList3Response" name="testBigIntegerList3Response"/>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testLongList4" parameterOrder="arg_4_0">
+
+         <wsdl:input message="impl:testLongList4Request" name="testLongList4Request"/>
+
+         <wsdl:output message="impl:testLongList4Response" name="testLongList4Response"/>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testEnumList5" parameterOrder="arg_5_0">
+
+         <wsdl:input message="impl:testEnumList5Request" name="testEnumList5Request"/>
+
+         <wsdl:output message="impl:testEnumList5Response" name="testEnumList5Response"/>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testEnumList7" parameterOrder="arg_7_0">
+
+         <wsdl:input message="impl:testEnumList7Request" name="testEnumList7Request"/>
+
+         <wsdl:output message="impl:testEnumList7Response" name="testEnumList7Response"/>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testComplexAll6" parameterOrder="arg_6_0">
+
+         <wsdl:input message="impl:testComplexAll6Request" name="testComplexAll6Request"/>
+
+         <wsdl:output message="impl:testComplexAll6Response" name="testComplexAll6Response"/>
+
+      </wsdl:operation>
+      
+   </wsdl:portType>
+
+   <wsdl:binding name="RPCLitSoapBinding" type="impl:RPCLit">
+
+      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+
+     <wsdl:operation name="testSimple">
+
+         <wsdl:input name="testSimpleRequest">
+               <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+         </wsdl:input>
+
+         <wsdl:output name="testSimpleResponse">
+               <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+         </wsdl:output>
+
+      </wsdl:operation>
+
+      <wsdl:operation name="testLists">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testListsRequest">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testListsResponse">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testCalendarList1">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testCalendarList1Request">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testCalendarList1Response">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testStringList2">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testStringList2Request">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testStringList2Response">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testBigIntegerList3">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testBigIntegerList3Request">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testBigIntegerList3Response">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testLongList4">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testLongList4Request">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testLongList4Response">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testEnumList5">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testEnumList5Request">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testEnumList5Response">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testEnumList7">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testEnumList7Request">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testEnumList7Response">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>
+      
+      <wsdl:operation name="testComplexAll6">
+
+         <wsdlsoap:operation soapAction=""/>
+
+         <wsdl:input name="testComplexAll6Request">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:input>
+
+         <wsdl:output name="testComplexAll6Response">
+
+            <wsdlsoap:body namespace="http://org/apache/axis2/jaxws/proxy/rpclit" use="literal"/>
+
+         </wsdl:output>
+
+      </wsdl:operation>      
+
+   </wsdl:binding>
+
+   <wsdl:service name="RPCLitService">
+
+      <wsdl:port binding="impl:RPCLitSoapBinding" name="RPCLit">
+
+         <wsdlsoap:address location="http://localhost:9080/axis2/services/RPCLitService"/>
+
+      </wsdl:port>
+
+   </wsdl:service>
+
+</wsdl:definitions>

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/services.xml
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/services.xml?view=auto&rev=476332
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/services.xml (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/META-INF/services.xml Fri Nov 17 13:43:42 2006
@@ -0,0 +1,12 @@
+<serviceGroup>
+ <service name="RPCLitService">
+  <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.rpclit.RPCLitImpl</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/rpclit/RPCLitImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/RPCLitImpl.java?view=auto&rev=476332
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/RPCLitImpl.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/RPCLitImpl.java Fri Nov 17 13:43:42 2006
@@ -0,0 +1,106 @@
+/*
+ * 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.rpclit;
+
+import java.math.BigInteger;
+
+import javax.jws.WebParam;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlList;
+import javax.xml.datatype.XMLGregorianCalendar;
+import javax.xml.namespace.QName;
+import javax.xml.ws.WebServiceProvider;
+
+import org.apache.axis2.jaxws.proxy.rpclit.sei.RPCLit;
+import org.test.proxy.rpclit.ComplexAll;
+import org.test.proxy.rpclit.Enum;
+
+/**
+ * 
+ *
+ */
+@WebService(targetNamespace="http://org/apache/axis2/jaxws/proxy/rpclit",
+        endpointInterface="org.apache.axis2.jaxws.proxy.rpclit.sei.RPCLit")
+public class RPCLitImpl implements RPCLit {
+
+    
+    
+    /**
+     * Echo the input
+     */
+    public String testSimple(String simpleIn) {
+        return simpleIn;
+    }
+    
+    public QName[] testLists(
+            QName[] qNames,
+            XMLGregorianCalendar[] calendars,
+            String[] texts,
+            BigInteger[] bigInts,
+            Long[] longs,
+            Enum[] enums,
+            String[] text2,
+            ComplexAll all) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public XMLGregorianCalendar[] testCalendarList1(XMLGregorianCalendar[] cals) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public String[] testStringList2(String[] arg20) {
+
+        assert(arg20.length==2);
+        assert(arg20[0].equals("Hello"));
+        assert(arg20[1].equals("World"));
+        return arg20;
+    }
+
+    public BigInteger[] testBigIntegerList3(BigInteger[] arg30) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public Long[] testLongList4(Long[] longs) {
+        assert(longs.length==3);
+        assert(longs[0] == 0);
+        assert(longs[1] == 1);
+        assert(longs[2] == 2);
+        return longs;
+    }
+
+    public Enum[] testEnumList5(Enum[] enums) {
+        assert(enums.length==3);
+        assert(enums[0] == Enum.ONE);
+        assert(enums[1] == Enum.TWO);
+        assert(enums[2] == Enum.THREE);
+        return enums;
+    }
+
+    public ComplexAll testComplexAll6(ComplexAll arg60) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+    
+    public String[] testEnumList7(String[] arg70) {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/sei/RPCLit.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/sei/RPCLit.java?view=auto&rev=476332
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/sei/RPCLit.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/sei/RPCLit.java Fri Nov 17 13:43:42 2006
@@ -0,0 +1,179 @@
+
+package org.apache.axis2.jaxws.proxy.rpclit.sei;
+
+import java.math.BigInteger;
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+import javax.jws.soap.SOAPBinding.Style;
+import javax.xml.bind.annotation.XmlList;
+import javax.xml.datatype.XMLGregorianCalendar;
+import javax.xml.namespace.QName;
+import org.test.proxy.rpclit.ComplexAll;
+import org.test.proxy.rpclit.Enum;
+
+/**
+ * This class was generated by the JAXWS SI.
+ * JAX-WS RI 2.0_01-b15-fcs
+ * Generated source version: 2.0
+ * 
+ */
+@WebService(name = "RPCLit", targetNamespace = "http://org/apache/axis2/jaxws/proxy/rpclit")
+@SOAPBinding(style = Style.RPC)
+public interface RPCLit {
+
+
+    /**
+     * 
+     * @param simpleIn
+     * @return
+     *     returns java.lang.String
+     */
+    @WebMethod
+    @WebResult(name = "simpleOut", partName = "simpleOut")
+    public String testSimple(
+        @WebParam(name = "simpleIn", partName = "simpleIn")
+        String simpleIn);
+
+    /**
+     * 
+     * @param arg70
+     * @param arg00
+     * @param arg10
+     * @param arg20
+     * @param arg30
+     * @param arg40
+     * @param arg50
+     * @param arg60
+     * @return
+     *     returns javax.xml.namespace.QName[]
+     */
+    @XmlList
+    @WebMethod
+    @WebResult(name = "testListsReturn", partName = "testListsReturn")
+    public QName[] testLists(
+        @XmlList
+        @WebParam(name = "arg_0_0", partName = "arg_0_0")
+        QName[] arg00,
+        @XmlList
+        @WebParam(name = "arg_1_0", partName = "arg_1_0")
+        XMLGregorianCalendar[] arg10,
+        @XmlList
+        @WebParam(name = "arg_2_0", partName = "arg_2_0")
+        String[] arg20,
+        @XmlList
+        @WebParam(name = "arg_3_0", partName = "arg_3_0")
+        BigInteger[] arg30,
+        @XmlList
+        @WebParam(name = "arg_4_0", partName = "arg_4_0")
+        Long[] arg40,
+        @XmlList
+        @WebParam(name = "arg_5_0", partName = "arg_5_0")
+        Enum[] arg50,
+        @XmlList
+        @WebParam(name = "arg_7_0", partName = "arg_7_0")
+        String[] arg70,
+        @WebParam(name = "arg_6_0", partName = "arg_6_0")
+        ComplexAll arg60);
+
+    /**
+     * 
+     * @param arg10
+     * @return
+     *     returns javax.xml.datatype.XMLGregorianCalendar[]
+     */
+    @XmlList
+    @WebMethod
+    @WebResult(name = "testCalendarList1Return", partName = "testCalendarList1Return")
+    public XMLGregorianCalendar[] testCalendarList1(
+        @XmlList
+        @WebParam(name = "arg_1_0", partName = "arg_1_0")
+        XMLGregorianCalendar[] arg10);
+
+    /**
+     * 
+     * @param arg20
+     * @return
+     *     returns java.lang.String[]
+     */
+    @XmlList
+    @WebMethod
+    @WebResult(name = "testStringList2Return", partName = "testStringList2Return")
+    public String[] testStringList2(
+        @XmlList
+        @WebParam(name = "arg_2_0", partName = "arg_2_0")
+        String[] arg20);
+
+    /**
+     * 
+     * @param arg30
+     * @return
+     *     returns java.math.BigInteger[]
+     */
+    @XmlList
+    @WebMethod
+    @WebResult(name = "testBigIntegerList3Return", partName = "testBigIntegerList3Return")
+    public BigInteger[] testBigIntegerList3(
+        @XmlList
+        @WebParam(name = "arg_3_0", partName = "arg_3_0")
+        BigInteger[] arg30);
+
+    /**
+     * 
+     * @param arg40
+     * @return
+     *     returns java.lang.Long[]
+     */
+    @XmlList
+    @WebMethod
+    @WebResult(name = "testLongList4Return", partName = "testLongList4Return")
+    public Long[] testLongList4(
+        @XmlList
+        @WebParam(name = "arg_4_0", partName = "arg_4_0")
+        Long[] arg40);
+
+    /**
+     * 
+     * @param arg50
+     * @return
+     *     returns org.apache.axis2.jaxws.proxy.rpclit.Enum[]
+     */
+    @XmlList
+    @WebMethod
+    @WebResult(name = "testEnumList5Return", partName = "testEnumList5Return")
+    public Enum[] testEnumList5(
+        @XmlList
+        @WebParam(name = "arg_5_0", partName = "arg_5_0")
+        Enum[] arg50);
+
+    /**
+     * 
+     * @param arg60
+     * @return
+     *     returns org.apache.axis2.jaxws.proxy.rpclit.ComplexAll
+     */
+    @WebMethod
+    @WebResult(name = "testComplexAll6Return", partName = "testComplexAll6Return")
+    public ComplexAll testComplexAll6(
+        @WebParam(name = "arg_6_0", partName = "arg_6_0")
+        ComplexAll arg60);
+    
+    /**
+     * 
+     * @param arg70
+     * @return
+     *     returns java.lang.String[]
+     */
+    @XmlList
+    @WebMethod
+    @WebResult(name = "testEnumList7Return", partName = "testEnumList7Return")
+    public String[] testEnumList7(
+        @XmlList
+        @WebParam(name = "arg_7_0", partName = "arg_7_0")
+        String[] arg70);
+
+  
+
+}

Added: webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/sei/RPCLitService.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/sei/RPCLitService.java?view=auto&rev=476332
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/sei/RPCLitService.java (added)
+++ webservices/axis2/trunk/java/modules/jaxws/test/org/apache/axis2/jaxws/proxy/rpclit/sei/RPCLitService.java Fri Nov 17 13:43:42 2006
@@ -0,0 +1,54 @@
+
+package org.apache.axis2.jaxws.proxy.rpclit.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 = "RPCLitService", targetNamespace = "http://org/apache/axis2/jaxws/proxy/rpclit", wsdlLocation = "RPCLit.wsdl")
+public class RPCLitService
+    extends Service
+{
+
+    private final static URL RPCLITSERVICE_WSDL_LOCATION;
+
+    static {
+        URL url = null;
+        try {
+            url = new URL("file:/C:/rpctest/sample/RPCLit.wsdl");
+        } catch (MalformedURLException e) {
+            e.printStackTrace();
+        }
+        RPCLITSERVICE_WSDL_LOCATION = url;
+    }
+
+    public RPCLitService(URL wsdlLocation, QName serviceName) {
+        super(wsdlLocation, serviceName);
+    }
+
+    public RPCLitService() {
+        super(RPCLITSERVICE_WSDL_LOCATION, new QName("http://org/apache/axis2/jaxws/proxy/rpclit", "RPCLitService"));
+    }
+
+    /**
+     * 
+     * @return
+     *     returns RPCLit
+     */
+    @WebEndpoint(name = "RPCLit")
+    public RPCLit getRPCLit() {
+        return (RPCLit)super.getPort(new QName("http://org/apache/axis2/jaxws/proxy/rpclit", "RPCLit"), RPCLit.class);
+    }
+
+}

Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/TransportHeaders.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/TransportHeaders.java?view=diff&rev=476332&r1=476331&r2=476332
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/TransportHeaders.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/TransportHeaders.java Fri Nov 17 13:43:42 2006
@@ -105,7 +105,7 @@
         if (headerMap == null) {
             init();
         }
-        return headerMap.entrySet();
+        return headerMap.keySet();
     }
 
     public Object get(Object key) {



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