Author: hemapani Date: Wed Mar 16 01:47:52 2005 New Revision: 157728 URL: http://svn.apache.org/viewcvs?view=rev&rev=157728 Log: add a test case to test AxisWebServiceContainer
Added: geronimo/trunk/modules/axis/src/test-resources/echo-deploy.wsdd geronimo/trunk/modules/axis/src/test-resources/echo.wsdl geronimo/trunk/modules/axis/src/test-resources/echoString-req.txt geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisRequest.java geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisResponse.java geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisWebServiceContainerTest.java geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/ - copied from r157694, geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/Echo.java - copied, changed from r157727, geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/Echo.java geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/EchoBean.java - copied, changed from r157727, geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/EchoBean.java geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/EchoStruct.java - copied, changed from r157727, geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/EchoStruct.java geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/SmallEchoStruct.java - copied, changed from r157727, geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/SmallEchoStruct.java Removed: geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/ Modified: geronimo/trunk/modules/axis/maven.xml geronimo/trunk/modules/axis/project.xml geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java Modified: geronimo/trunk/modules/axis/maven.xml URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/maven.xml?view=diff&r1=157727&r2=157728 ============================================================================== --- geronimo/trunk/modules/axis/maven.xml (original) +++ geronimo/trunk/modules/axis/maven.xml Wed Mar 16 01:47:52 2005 @@ -40,14 +40,9 @@ </ant:classpath> </ant:javac> </preGoal> - + <preGoal name="test:test"> <j:if test="${context.getVariable('maven.test.skip') != 'true'}"> - <deploy:copy-deps todir="${basedir}/target/lib"/> - <ant:java classname="org.apache.geronimo.ews.ws4j2ee.utils.PropertyStore" fork="no"> - <ant:arg value="${maven.repo.local}"/> - <ant:classpath refid="maven.dependency.classpath"/> - </ant:java> <j:jelly xmlns="jelly:ant"> <ant:ant antfile="build.xml" inheritall="true" @@ -57,32 +52,6 @@ inheritall="true" inheritrefs="true" dir="src/samples/echo-pojo"/> - <taskdef name="ews" classname="org.apache.geronimo.ews.ws4j2ee.utils.EWSTask"> - <classpath refid="maven.dependency.classpath"/> - </taskdef> - <ews outDir="target/generated/samples/echo-jar" module="target/samples/echo.jar"> - <ant:classpath refid="maven.dependency.classpath"/> - </ews> - <ews outDir="target/generated/samples/echo-war" module="target/samples/echo.war"> - <ant:classpath refid="maven.dependency.classpath"/> - </ews> - --> - <!-- The following ant task cause the build to break - if building with JAVA 5. The JAVA 5 'enum' reserved - word is used in the source code being compiled. - The generated ANT file might need to pass the - -source 1.4 option to the java compiler --> -<!-- - <ant:ant antfile="build.xml" - inheritall="true" - inheritrefs="true" - dir="target/generated/samples/echo-jar"/> - - <ant:ant antfile="build.xml" - inheritall="true" - inheritrefs="true" - dir="target/generated/samples/echo-war"/> - </j:jelly> </j:if> </preGoal> Modified: geronimo/trunk/modules/axis/project.xml URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/project.xml?view=diff&r1=157727&r2=157728 ============================================================================== --- geronimo/trunk/modules/axis/project.xml (original) +++ geronimo/trunk/modules/axis/project.xml Wed Mar 16 01:47:52 2005 @@ -361,14 +361,15 @@ <!-- Build Specification --> <!-- =================== --> <build> -<!-- + <sourceDirectory>src/java</sourceDirectory> + <unitTestSourceDirectory>src/test</unitTestSourceDirectory> <resources> <resource> - <directory>${basedir}/target/xmlbeans</directory> + <directory>src/test-resources</directory> <includes>schema/**</includes> </resource> </resources> ---> + <unitTest> <includes> <include>**/**Test.java</include> Modified: geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java?view=diff&r1=157727&r2=157728 ============================================================================== --- geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java (original) +++ geronimo/trunk/modules/axis/src/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java Wed Mar 16 01:47:52 2005 @@ -20,6 +20,7 @@ import java.io.OutputStream; import java.net.URI; import java.net.URL; + import javax.servlet.http.HttpServletResponse; import javax.xml.soap.SOAPException; import javax.xml.soap.SOAPMessage; Added: geronimo/trunk/modules/axis/src/test-resources/echo-deploy.wsdd URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/test-resources/echo-deploy.wsdd?view=auto&rev=157728 ============================================================================== --- geronimo/trunk/modules/axis/src/test-resources/echo-deploy.wsdd (added) +++ geronimo/trunk/modules/axis/src/test-resources/echo-deploy.wsdd Wed Mar 16 01:47:52 2005 @@ -0,0 +1,136 @@ +<!-- Use this file to deploy some handlers/chains and services --> +<!-- Two ways to do this: --> +<!-- java org.apache.axis.client.AdminClient deploy.wsdd --> +<!-- after the axis server is running --> +<!-- or --> +<!-- java org.apache.axis.utils.Admin client|server deploy.wsdd --> +<!-- from the same directory that the Axis engine runs --> + +<deployment + xmlns="http://xml.apache.org/axis/wsdd/" + xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> + + <!-- Services from EchoService WSDL service --> + + <service name="echo" provider="java:RPC" style="rpc" use="encoded"> + <parameter name="wsdlTargetNamespace" value="http://ws.apache.org/echosample"/> + <parameter name="wsdlServiceElement" value="EchoService"/> + <parameter name="wsdlServicePort" value="echo"/> + <parameter name="className" value="org.apache.ws.echosample.EchoSoapBindingImpl"/> + <parameter name="wsdlPortType" value="Echo"/> + <parameter name="typeMappingVersion" value="1.2"/> + <operation name="echoVoid" qname="operNS:echoVoid" xmlns:operNS="http://ws.apache.org/echosample" soapAction="" > + </operation> + <operation name="echoInt" qname="operNS:echoInt" xmlns:operNS="http://ws.apache.org/echosample" returnQName="echoIntReturn" returnType="rtns:int" xmlns:rtns="http://www.w3.org/2001/XMLSchema" soapAction="" > + <parameter qname="in0" type="tns:int" xmlns:tns="http://www.w3.org/2001/XMLSchema"/> + </operation> + <operation name="echoDouble" qname="operNS:echoDouble" xmlns:operNS="http://ws.apache.org/echosample" returnQName="echoDoubleReturn" returnType="rtns:double" xmlns:rtns="http://www.w3.org/2001/XMLSchema" soapAction="" > + <parameter qname="in0" type="tns:double" xmlns:tns="http://www.w3.org/2001/XMLSchema"/> + </operation> + <operation name="echoFloat" qname="operNS:echoFloat" xmlns:operNS="http://ws.apache.org/echosample" returnQName="echoFloatReturn" returnType="rtns:float" xmlns:rtns="http://www.w3.org/2001/XMLSchema" soapAction="" > + <parameter qname="in0" type="tns:float" xmlns:tns="http://www.w3.org/2001/XMLSchema"/> + </operation> + <operation name="echoBoolean" qname="operNS:echoBoolean" xmlns:operNS="http://ws.apache.org/echosample" returnQName="echoBooleanReturn" returnType="rtns:boolean" xmlns:rtns="http://www.w3.org/2001/XMLSchema" soapAction="" > + <parameter qname="in0" type="tns:boolean" xmlns:tns="http://www.w3.org/2001/XMLSchema"/> + </operation> + <operation name="echoString" qname="operNS:echoString" xmlns:operNS="http://ws.apache.org/echosample" returnQName="echoStringReturn" returnType="rtns:string" xmlns:rtns="http://schemas.xmlsoap.org/soap/encoding/" soapAction="" > + <parameter qname="in0" type="tns:string" xmlns:tns="http://schemas.xmlsoap.org/soap/encoding/"/> + </operation> + <operation name="echoShort" qname="operNS:echoShort" xmlns:operNS="http://ws.apache.org/echosample" returnQName="echoShortReturn" returnType="rtns:short" xmlns:rtns="http://www.w3.org/2001/XMLSchema" soapAction="" > + <parameter qname="in0" type="tns:short" xmlns:tns="http://www.w3.org/2001/XMLSchema"/> + </operation> + <operation name="echoLong" qname="operNS:echoLong" xmlns:operNS="http://ws.apache.org/echosample" returnQName="echoLongReturn" returnType="rtns:long" xmlns:rtns="http://www.w3.org/2001/XMLSchema" soapAction="" > + <parameter qname="in0" type="tns:long" xmlns:tns="http://www.w3.org/2001/XMLSchema"/> + </operation> + <operation name="echoBytes" qname="operNS:echoBytes" xmlns:operNS="http://ws.apache.org/echosample" returnQName="echoBytesReturn" returnType="rtns:base64Binary" xmlns:rtns="http://schemas.xmlsoap.org/soap/encoding/" soapAction="" > + <parameter qname="in0" type="tns:base64Binary" xmlns:tns="http://schemas.xmlsoap.org/soap/encoding/"/> + </operation> + <operation name="echoEvoid" qname="operNS:echoEvoid" xmlns:operNS="http://ws.apache.org/echosample" soapAction="" > + </operation> + <operation name="echoStruct" qname="operNS:echoStruct" xmlns:operNS="http://ws.apache.org/echosample" returnQName="echoStructReturn" returnType="rtns:EchoStruct" xmlns:rtns="http://ws.apache.org/echosample" soapAction="" > + <parameter qname="in0" type="tns:EchoStruct" xmlns:tns="http://ws.apache.org/echosample"/> + </operation> + <parameter name="allowedMethods" value="echoFloat echoLong echoShort echoVoid echoBoolean echoBytes echoInt echoStruct echoString echoDouble echoEvoid"/> + + <typeMapping + xmlns:ns="http://ws.apache.org/echosample" + qname="ns:ArrayOf_xsd_float" + type="java:float[]" + serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" + deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + /> + <typeMapping + xmlns:ns="http://ws.apache.org/echosample" + qname="ns:ArrayOf_soapenc_base64Binary" + type="java:byte[][]" + serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" + deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + /> + <typeMapping + xmlns:ns="http://ws.apache.org/echosample" + qname="ns:ArrayOf_xsd_int" + type="java:int[]" + serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" + deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + /> + <typeMapping + xmlns:ns="http://ws.apache.org/echosample" + qname="ns:ArrayOf_xsd_double" + type="java:double[]" + serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" + deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + /> + <typeMapping + xmlns:ns="http://ws.apache.org/echosample" + qname="ns:ArrayOf_xsd_short" + type="java:short[]" + serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" + deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + /> + <typeMapping + xmlns:ns="http://ws.apache.org/echosample" + qname="ns:SmallEchoStruct" + type="java:org.apache.ws.echosample.SmallEchoStruct" + serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" + deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + /> + <typeMapping + xmlns:ns="http://ws.apache.org/echosample" + qname="ns:EchoStruct" + type="java:org.apache.ws.echosample.EchoStruct" + serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" + deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + /> + <typeMapping + xmlns:ns="http://ws.apache.org/echosample" + qname="ns:ArrayOf_xsd_long" + type="java:long[]" + serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" + deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + /> + <typeMapping + xmlns:ns="http://ws.apache.org/echosample" + qname="ns:ArrayOf_soapenc_string" + type="java:java.lang.String[]" + serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" + deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + /> + <typeMapping + xmlns:ns="http://ws.apache.org/echosample" + qname="ns:ArrayOf_xsd_boolean" + type="java:boolean[]" + serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" + deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory" + encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" + /> + </service> +</deployment> Added: geronimo/trunk/modules/axis/src/test-resources/echo.wsdl URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/test-resources/echo.wsdl?view=auto&rev=157728 ============================================================================== --- geronimo/trunk/modules/axis/src/test-resources/echo.wsdl (added) +++ geronimo/trunk/modules/axis/src/test-resources/echo.wsdl Wed Mar 16 01:47:52 2005 @@ -0,0 +1,525 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wsdl:definitions targetNamespace="http://ws.apache.org/echosample" xmlns:impl="http://ws.apache.org/echosample" xmlns:intf="http://ws.apache.org/echosample" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"> +<!--WSDL created by Apache Axis version: 1.2RC3 +Built on Mar 03, 2005 (12:10:56 PST)--> + <wsdl:types> + <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ws.apache.org/echosample"> + <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> + <complexType name="ArrayOf_xsd_int"> + <complexContent> + <restriction base="soapenc:Array"> + <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:int[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOf_xsd_long"> + <complexContent> + <restriction base="soapenc:Array"> + <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:long[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOf_soapenc_string"> + <complexContent> + <restriction base="soapenc:Array"> + <attribute ref="soapenc:arrayType" wsdl:arrayType="soapenc:string[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="SmallEchoStruct"> + <sequence> + <element name="val1" nillable="true" type="soapenc:string"/> + <element name="val2" nillable="true" type="soapenc:string"/> + </sequence> + </complexType> + <complexType name="ArrayOf_xsd_short"> + <complexContent> + <restriction base="soapenc:Array"> + <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:short[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOf_xsd_boolean"> + <complexContent> + <restriction base="soapenc:Array"> + <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:boolean[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOf_xsd_double"> + <complexContent> + <restriction base="soapenc:Array"> + <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:double[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOf_xsd_float"> + <complexContent> + <restriction base="soapenc:Array"> + <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:float[]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="ArrayOf_soapenc_base64Binary"> + <complexContent> + <restriction base="soapenc:Array"> + <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:byte[][]"/> + </restriction> + </complexContent> + </complexType> + <complexType name="EchoStruct"> + <sequence> + <element name="intaVal" nillable="true" type="impl:ArrayOf_xsd_int"/> + <element name="longaVal" nillable="true" type="impl:ArrayOf_xsd_long"/> + <element name="straVal" nillable="true" type="impl:ArrayOf_soapenc_string"/> + <element name="sturctaVal" nillable="true" type="impl:SmallEchoStruct"/> + <element name="intVal" type="xsd:int"/> + <element name="shortaVal" nillable="true" type="impl:ArrayOf_xsd_short"/> + <element name="shortVal" type="xsd:short"/> + <element name="sturctVal" nillable="true" type="impl:SmallEchoStruct"/> + <element name="longVal" type="xsd:long"/> + <element name="boolaenVal" type="xsd:boolean"/> + <element name="boolaenaVal" nillable="true" type="impl:ArrayOf_xsd_boolean"/> + <element name="doubleaVal" nillable="true" type="impl:ArrayOf_xsd_double"/> + <element name="floatVal" type="xsd:float"/> + <element name="bytesVal" nillable="true" type="soapenc:base64Binary"/> + <element name="doubleVal" type="xsd:double"/> + <element name="floataVal" nillable="true" type="impl:ArrayOf_xsd_float"/> + <element name="bytesaVal" nillable="true" type="impl:ArrayOf_soapenc_base64Binary"/> + <element name="strVal" nillable="true" type="soapenc:string"/> + </sequence> + </complexType> + </schema> + </wsdl:types> + + <wsdl:message name="echoIntRequest"> + + <wsdl:part name="in0" type="xsd:int"/> + + </wsdl:message> + + <wsdl:message name="echoShortRequest"> + + <wsdl:part name="in0" type="xsd:short"/> + + </wsdl:message> + + <wsdl:message name="echoBytesResponse"> + + <wsdl:part name="echoBytesReturn" type="soapenc:base64Binary"/> + + </wsdl:message> + + <wsdl:message name="echoFloatResponse"> + + <wsdl:part name="echoFloatReturn" type="xsd:float"/> + + </wsdl:message> + + <wsdl:message name="echoShortResponse"> + + <wsdl:part name="echoShortReturn" type="xsd:short"/> + + </wsdl:message> + + <wsdl:message name="echoVoidRequest"> + + </wsdl:message> + + <wsdl:message name="echoDoubleRequest"> + + <wsdl:part name="in0" type="xsd:double"/> + + </wsdl:message> + + <wsdl:message name="echoBooleanResponse"> + + <wsdl:part name="echoBooleanReturn" type="xsd:boolean"/> + + </wsdl:message> + + <wsdl:message name="echoDoubleResponse"> + + <wsdl:part name="echoDoubleReturn" type="xsd:double"/> + + </wsdl:message> + + <wsdl:message name="echoStructResponse"> + + <wsdl:part name="echoStructReturn" type="impl:EchoStruct"/> + + </wsdl:message> + + <wsdl:message name="echoBooleanRequest"> + + <wsdl:part name="in0" type="xsd:boolean"/> + + </wsdl:message> + + <wsdl:message name="echoFloatRequest"> + + <wsdl:part name="in0" type="xsd:float"/> + + </wsdl:message> + + <wsdl:message name="echoBytesRequest"> + + <wsdl:part name="in0" type="soapenc:base64Binary"/> + + </wsdl:message> + + <wsdl:message name="echoEvoidResponse"> + + </wsdl:message> + + <wsdl:message name="echoEvoidRequest"> + + </wsdl:message> + + <wsdl:message name="echoLongRequest"> + + <wsdl:part name="in0" type="xsd:long"/> + + </wsdl:message> + + <wsdl:message name="echoVoidResponse"> + + </wsdl:message> + + <wsdl:message name="echoStringRequest"> + + <wsdl:part name="in0" type="soapenc:string"/> + + </wsdl:message> + + <wsdl:message name="echoStructRequest"> + + <wsdl:part name="in0" type="impl:EchoStruct"/> + + </wsdl:message> + + <wsdl:message name="echoLongResponse"> + + <wsdl:part name="echoLongReturn" type="xsd:long"/> + + </wsdl:message> + + <wsdl:message name="echoIntResponse"> + + <wsdl:part name="echoIntReturn" type="xsd:int"/> + + </wsdl:message> + + <wsdl:message name="echoStringResponse"> + + <wsdl:part name="echoStringReturn" type="soapenc:string"/> + + </wsdl:message> + + <wsdl:portType name="Echo"> + + <wsdl:operation name="echoVoid"> + + <wsdl:input name="echoVoidRequest" message="impl:echoVoidRequest"/> + + <wsdl:output name="echoVoidResponse" message="impl:echoVoidResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoInt" parameterOrder="in0"> + + <wsdl:input name="echoIntRequest" message="impl:echoIntRequest"/> + + <wsdl:output name="echoIntResponse" message="impl:echoIntResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoDouble" parameterOrder="in0"> + + <wsdl:input name="echoDoubleRequest" message="impl:echoDoubleRequest"/> + + <wsdl:output name="echoDoubleResponse" message="impl:echoDoubleResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoFloat" parameterOrder="in0"> + + <wsdl:input name="echoFloatRequest" message="impl:echoFloatRequest"/> + + <wsdl:output name="echoFloatResponse" message="impl:echoFloatResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoBoolean" parameterOrder="in0"> + + <wsdl:input name="echoBooleanRequest" message="impl:echoBooleanRequest"/> + + <wsdl:output name="echoBooleanResponse" message="impl:echoBooleanResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoString" parameterOrder="in0"> + + <wsdl:input name="echoStringRequest" message="impl:echoStringRequest"/> + + <wsdl:output name="echoStringResponse" message="impl:echoStringResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoShort" parameterOrder="in0"> + + <wsdl:input name="echoShortRequest" message="impl:echoShortRequest"/> + + <wsdl:output name="echoShortResponse" message="impl:echoShortResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoLong" parameterOrder="in0"> + + <wsdl:input name="echoLongRequest" message="impl:echoLongRequest"/> + + <wsdl:output name="echoLongResponse" message="impl:echoLongResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoBytes" parameterOrder="in0"> + + <wsdl:input name="echoBytesRequest" message="impl:echoBytesRequest"/> + + <wsdl:output name="echoBytesResponse" message="impl:echoBytesResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoEvoid"> + + <wsdl:input name="echoEvoidRequest" message="impl:echoEvoidRequest"/> + + <wsdl:output name="echoEvoidResponse" message="impl:echoEvoidResponse"/> + + </wsdl:operation> + + <wsdl:operation name="echoStruct" parameterOrder="in0"> + + <wsdl:input name="echoStructRequest" message="impl:echoStructRequest"/> + + <wsdl:output name="echoStructResponse" message="impl:echoStructResponse"/> + + </wsdl:operation> + + </wsdl:portType> + + <wsdl:binding name="echoSoapBinding" type="impl:Echo"> + + <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + + <wsdl:operation name="echoVoid"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoVoidRequest"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:input> + + <wsdl:output name="echoVoidResponse"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoInt"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoIntRequest"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:input> + + <wsdl:output name="echoIntResponse"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoDouble"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoDoubleRequest"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:input> + + <wsdl:output name="echoDoubleResponse"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoFloat"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoFloatRequest"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:input> + + <wsdl:output name="echoFloatResponse"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoBoolean"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoBooleanRequest"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:input> + + <wsdl:output name="echoBooleanResponse"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoString"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoStringRequest"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:input> + + <wsdl:output name="echoStringResponse"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoShort"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoShortRequest"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:input> + + <wsdl:output name="echoShortResponse"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoLong"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoLongRequest"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:input> + + <wsdl:output name="echoLongResponse"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoBytes"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoBytesRequest"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:input> + + <wsdl:output name="echoBytesResponse"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoEvoid"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoEvoidRequest"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:input> + + <wsdl:output name="echoEvoidResponse"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:output> + + </wsdl:operation> + + <wsdl:operation name="echoStruct"> + + <wsdlsoap:operation soapAction=""/> + + <wsdl:input name="echoStructRequest"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:input> + + <wsdl:output name="echoStructResponse"> + + <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.apache.org/echosample"/> + + </wsdl:output> + + </wsdl:operation> + + </wsdl:binding> + + <wsdl:service name="EchoService"> + + <wsdl:port name="echo" binding="impl:echoSoapBinding"> + + <wsdlsoap:address location="http://localhost:8081/axis/services/echo"/> + + </wsdl:port> + + </wsdl:service> + +</wsdl:definitions> Added: geronimo/trunk/modules/axis/src/test-resources/echoString-req.txt URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/test-resources/echoString-req.txt?view=auto&rev=157728 ============================================================================== --- geronimo/trunk/modules/axis/src/test-resources/echoString-req.txt (added) +++ geronimo/trunk/modules/axis/src/test-resources/echoString-req.txt Wed Mar 16 01:47:52 2005 @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><ns1:echoString soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://ws.apache.org/echosample"><in0 xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">Hello</in0></ns1:echoString></soapenv:Body></soapenv:Envelope> Added: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisRequest.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisRequest.java?view=auto&rev=157728 ============================================================================== --- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisRequest.java (added) +++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisRequest.java Wed Mar 16 01:47:52 2005 @@ -0,0 +1,91 @@ +package org.apache.geronimo.axis; +import java.io.IOException; +import java.io.InputStream; +import java.net.URI; +import java.net.URL; +import java.util.Map; + +import org.apache.geronimo.webservices.WebServiceContainer; + +public class AxisRequest implements WebServiceContainer.Request { + private int contentLength; + private String contentType; + private String host; + private InputStream in; + private int method; + private Map parameters; + private String path; + private URI uri; + private int port; + private Map headers; + + /** + * + */ + public AxisRequest( + int contentLength, + String contentType, + String host, + InputStream in, + int method, + Map parameters, + String path, + URI uri, + int port, + Map headers) { + this.contentType = contentType; + this.host = host; + this.in = in; + this.method = method; + this.parameters = parameters; + this.path = path; + this.uri = uri; + this.port = port; + this.headers = headers; + } + + public int getContentLength() { + return contentLength; + } + + public String getContentType() { + return contentType; + } + + public String getHeader(String name) { + return (String) headers.get(name); + } + + public String getHost() { + return host; + } + + public InputStream getInputStream() throws IOException { + return in; + } + + public int getMethod() { + return method; + } + + public String getParameter(String name) { + return (String) parameters.get(name); + } + + public Map getParameters() { + return parameters; + } + + public String getPath() { + return path; + } + + public int getPort() { + return port; + } + + public URI getURI() { + return uri; + } + +} Added: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisResponse.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisResponse.java?view=auto&rev=157728 ============================================================================== --- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisResponse.java (added) +++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisResponse.java Wed Mar 16 01:47:52 2005 @@ -0,0 +1,172 @@ +package org.apache.geronimo.axis; +import java.io.OutputStream; +import java.net.URL; +import java.util.HashMap; +import java.util.Map; + +import org.apache.geronimo.webservices.WebServiceContainer; + +public class AxisResponse implements WebServiceContainer.Response { + private int contentLength; + private String contentType; + private String host; + private OutputStream out; + private int method; + private Map parameters; + private String path; + private URL uri; + private int port; + private Map headers; + private int statusCode; + private String statusMessage; + + /** + * + */ + public AxisResponse(String contentType, + String host, + String path, + URL uri, + int port, + OutputStream out) { + this.contentType = contentType; + this.host = host; + this.parameters = new HashMap(); + this.path = path; + this.uri = uri; + this.port = port; + this.headers = new HashMap(); + this.out = out; + } + + public int getContentLength() { + return contentLength; + } + + + public String getHeader(String name) { + return (String) headers.get(name); + } + + public String getHost() { + return host; + } + + public OutputStream getOutputStream() { + return out; + } + + public int getMethod() { + return method; + } + + public String getParameter(String name) { + return (String) parameters.get(name); + } + + public Map getParameters() { + return parameters; + } + + public String getPath() { + return path; + } + + public int getPort() { + return port; + } + + public URL getURI() { + return uri; + } + + /** + * @return + */ + public String getContentType() { + return contentType; + } + + /** + * @return + */ + public URL getUri() { + return uri; + } + + /** + * @param i + */ + public void setContentLength(int i) { + contentLength = i; + } + + /** + * @param string + */ + public void setContentType(String string) { + contentType = string; + } + + /** + * @param string + */ + public void setHost(String string) { + host = string; + } + + /** + * @param i + */ + public void setMethod(int i) { + method = i; + } + + /** + * @param map + */ + public void setParameters(Map map) { + parameters = map; + } + + /** + * @param string + */ + public void setPath(String string) { + path = string; + } + + /** + * @param i + */ + public void setPort(int i) { + port = i; + } + + /** + * @param url + */ + public void setUri(URL url) { + uri = url; + } + + public int getStatusCode() { + return statusCode; + } + + public void setStatusCode(int code) { + statusCode = code; + + } + + public void setStatusMessage(String responseString) { + statusMessage = responseString; + + } + + public void setHeader(String name, String value) { + headers.put(name,value); + + } + +} Added: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisWebServiceContainerTest.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisWebServiceContainerTest.java?view=auto&rev=157728 ============================================================================== --- geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisWebServiceContainerTest.java (added) +++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/AxisWebServiceContainerTest.java Wed Mar 16 01:47:52 2005 @@ -0,0 +1,130 @@ +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * 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.geronimo.axis; + +import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URI; +import java.net.URL; +import java.util.HashMap; + +import javax.xml.namespace.QName; + +import org.apache.axis.constants.Style; +import org.apache.axis.constants.Use; +import org.apache.axis.description.JavaServiceDesc; +import org.apache.axis.description.OperationDesc; +import org.apache.axis.description.ParameterDesc; +import org.apache.axis.encoding.TypeMapping; +import org.apache.axis.encoding.TypeMappingRegistryImpl; +import org.apache.axis.handlers.soap.SOAPService; +import org.apache.axis.providers.java.RPCProvider; +import org.apache.geronimo.axis.server.AxisWebServiceContainer; +import org.apache.geronimo.axis.server.ReadOnlyServiceDesc; +import org.apache.geronimo.axis.testData.echosample.EchoBean; + +//import org.openejb.deployment.OpenEJBModuleBuilder; + +/** + * + * @version $Rev: $ $Date: $ + */ +public class AxisWebServiceContainerTest extends AbstractTestCase { + public AxisWebServiceContainerTest(String testName) { + super(testName); + } + + public void testInvokeSOAP() throws Exception { + ClassLoader cl = Thread.currentThread().getContextClassLoader(); + JavaServiceDesc serviceDesc = new JavaServiceDesc(); + serviceDesc.setEndpointURL("http://127.0.0.1:8080/axis/services/echo"); + //serviceDesc.setWSDLFile(portInfo.getWsdlURL().toExternalForm()); + serviceDesc.setStyle(Style.RPC); + serviceDesc.setUse(Use.ENCODED); + + TypeMappingRegistryImpl tmr = new TypeMappingRegistryImpl(); + tmr.doRegisterFromVersion("1.3"); + TypeMapping typeMapping = tmr.getOrMakeTypeMapping(serviceDesc.getUse().getEncoding()); + + serviceDesc.setTypeMappingRegistry(tmr); + serviceDesc.setTypeMapping(typeMapping); + + OperationDesc op = new OperationDesc(); + op.setName("echoString"); + op.setStyle(Style.RPC); + op.setUse(Use.ENCODED); + Class beanClass = EchoBean.class; + op.setMethod(beanClass.getMethod("echoString", new Class[] { String.class })); + ParameterDesc parameter = + new ParameterDesc( + new QName("http://ws.apache.org/echosample", "in0"), + ParameterDesc.IN, + typeMapping.getTypeQName(String.class), + String.class, + false, + false); + op.addParameter(parameter); + serviceDesc.addOperationDesc(op); + + serviceDesc.getOperations(); + ReadOnlyServiceDesc sd = new ReadOnlyServiceDesc(serviceDesc); + + RPCProvider provider = new RPCProvider(); + SOAPService service = new SOAPService(null, provider, null); + service.setServiceDescription(serviceDesc); + service.setOption("className","org.apache.geronimo.axis.testData.echosample.EchoBean"); + URL wsdlURL = cl.getResource("echo.wsdl"); + URI location = new URI(serviceDesc.getEndpointURL()); + + AxisWebServiceContainer axisWebServiceContainer = + new AxisWebServiceContainer(location, wsdlURL, service, cl); + + AxisWebServiceContainer continaer = + new AxisWebServiceContainer( + null, + null, + service, + Thread.currentThread().getContextClassLoader()); + InputStream in = cl.getResourceAsStream("echoString-req.txt"); + + OutputStream outputStream = new ByteArrayOutputStream(); + + AxisRequest req = + new AxisRequest( + 504, + "text/xml; charset=utf-8", + "127.0.0.1", + in, + 0, + new HashMap(), + null, + location, + 8080, + new HashMap()); + AxisResponse res = + new AxisResponse("text/xml; charset=utf-8", "127.0.0.1", null, null, 8080, System.out); + continaer.invoke(req, res); + System.out.flush(); + } + + protected void setUp() throws Exception { + } + + protected void tearDown() throws Exception { + } + +} \ No newline at end of file Copied: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/Echo.java (from r157727, geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/Echo.java) URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/Echo.java?view=diff&rev=157728&p1=geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/Echo.java&r1=157727&p2=geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/Echo.java&r2=157728 ============================================================================== --- geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/Echo.java (original) +++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/Echo.java Wed Mar 16 01:47:52 2005 @@ -1,4 +1,5 @@ -package org.apache.ws.echosample; +package org.apache.geronimo.axis.testData.echosample; + public interface Echo extends java.rmi.Remote { public void echoVoid() throws java.rmi.RemoteException; Copied: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/EchoBean.java (from r157727, geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/EchoBean.java) URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/EchoBean.java?view=diff&rev=157728&p1=geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/EchoBean.java&r1=157727&p2=geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/EchoBean.java&r2=157728 ============================================================================== --- geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/EchoBean.java (original) +++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/EchoBean.java Wed Mar 16 01:47:52 2005 @@ -1,4 +1,4 @@ -package org.apache.ws.echosample; +package org.apache.geronimo.axis.testData.echosample; public class EchoBean implements Echo { public void ejbCreate() { Copied: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/EchoStruct.java (from r157727, geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/EchoStruct.java) URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/EchoStruct.java?view=diff&rev=157728&p1=geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/EchoStruct.java&r1=157727&p2=geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/EchoStruct.java&r2=157728 ============================================================================== --- geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/EchoStruct.java (original) +++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/EchoStruct.java Wed Mar 16 01:47:52 2005 @@ -1,4 +1,4 @@ -package org.apache.ws.echosample; +package org.apache.geronimo.axis.testData.echosample; import java.io.Serializable; Copied: geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/SmallEchoStruct.java (from r157727, geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/SmallEchoStruct.java) URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/SmallEchoStruct.java?view=diff&rev=157728&p1=geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/SmallEchoStruct.java&r1=157727&p2=geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/SmallEchoStruct.java&r2=157728 ============================================================================== --- geronimo/trunk/modules/axis/src/samples/echo-pojo/org/apache/ws/echosample/SmallEchoStruct.java (original) +++ geronimo/trunk/modules/axis/src/test/org/apache/geronimo/axis/testData/echosample/SmallEchoStruct.java Wed Mar 16 01:47:52 2005 @@ -1,4 +1,4 @@ -package org.apache.ws.echosample; +package org.apache.geronimo.axis.testData.echosample; import java.io.Serializable;