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 2002/04/09 20:50:51 UTC

cvs commit: xml-axis/java/samples/echo InteropTest.wsdl InteropTestSoapBindingImpl.java TestClient.java deploy.wsdd EchoService.java EchoServiceAccess.java EchoServiceAccessLocator.java EchoServiceBindingStub.java EchoServicePortType.java SOAPArrayStruct.java SOAPStruct.java SOAPStructStruct.java

scheu       02/04/09 11:50:51

  Modified:    java/samples/echo TestClient.java deploy.wsdd
  Added:       java/samples/echo InteropTest.wsdl
                        InteropTestSoapBindingImpl.java
  Removed:     java/samples/echo EchoService.java EchoServiceAccess.java
                        EchoServiceAccessLocator.java
                        EchoServiceBindingStub.java
                        EchoServicePortType.java SOAPArrayStruct.java
                        SOAPStruct.java SOAPStructStruct.java
  Log:
  More commits to follow
  
  Revision  Changes    Path
  1.61      +50 -31    xml-axis/java/samples/echo/TestClient.java
  
  Index: TestClient.java
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/samples/echo/TestClient.java,v
  retrieving revision 1.60
  retrieving revision 1.61
  diff -u -r1.60 -r1.61
  --- TestClient.java	1 Apr 2002 14:42:18 -0000	1.60
  +++ TestClient.java	9 Apr 2002 18:50:51 -0000	1.61
  @@ -84,12 +84,12 @@
    * for more details on usage.
    *
    * @author Sam Ruby <ru...@us.ibm.com>
  + * Modified to use WSDL2Java generated stubs and artifacts by
  + * @author Rich Scheuerle <sc...@us.ibm.com>
    */
   public abstract class TestClient {
   
  -    private static boolean addMethodToAction = false;
  -    private static String soapAction = "http://soapinterop.org/";
  -    private static EchoServicePortType binding = null;
  +    private static InteropTestPortType binding = null;
   
       /**
        * When testMode is true, we throw exceptions up to the caller
  @@ -176,10 +176,8 @@
           throws AxisFault
       {
           try {
  -            binding = new EchoServiceAccessLocator().
  -                getEchoServicePortType(new java.net.URL(url));
  -            ((EchoServiceBindingStub) binding).soapAction = soapAction;
  -            ((EchoServiceBindingStub) binding).addMethodToAction = addMethodToAction;
  +            binding = new InteropTestServiceLocator().
  +                getEcho(new java.net.URL(url));
           } catch (Exception exp) {
               throw AxisFault.makeFault(exp);
           }
  @@ -285,7 +283,10 @@
           }
   
           {
  -            SOAPStruct input = new SOAPStruct(5, "Hello", 103F);
  +            SOAPStruct input = new SOAPStruct();
  +            input.setVarInt(5);
  +            input.setVarString("Hello");
  +            input.setVarFloat(103F);
               try {
                   output = binding.echoStruct(input);
                   verify("echoStruct", input, output);
  @@ -300,9 +301,19 @@
   
           {
               SOAPStruct[] input = new SOAPStruct[] {
  -                new SOAPStruct(1, "one", 1.1F),
  -                new SOAPStruct(2, "two", 2.2F),
  -                new SOAPStruct(3, "three", 3.3F)};
  +                new SOAPStruct(),
  +                new SOAPStruct(),
  +                new SOAPStruct()};
  +            input[0].setVarInt(1);
  +            input[0].setVarString("one");
  +            input[0].setVarFloat(1.1F);
  +            input[1].setVarInt(2);
  +            input[1].setVarString("two");
  +            input[1].setVarFloat(2.2F);
  +            input[2].setVarInt(3);
  +            input[2].setVarString("three");
  +            input[2].setVarFloat(3.3F);
  +
               try {
                   output = binding.echoStructArray(input);
                   verify("echoStructArray", input, output);
  @@ -441,15 +452,20 @@
           // execute the tests
           Object output = null;
           {
  -            SOAPStruct input = new SOAPStruct(5, "Hello", 103F);
  +            SOAPStruct input = new SOAPStruct();
  +            input.setVarInt(5);
  +            input.setVarString("Hello");
  +            input.setVarFloat(103F);
               try {
                   StringHolder outputString = new StringHolder();
                   IntHolder outputInteger = new IntHolder();
                   FloatHolder outputFloat = new FloatHolder();
  -                binding.echoStructAsSimpleTypes(input, outputString, outputInteger, outputFloat);
  -                output = new SOAPStruct(outputInteger.value,
  -                                        outputString.value,
  -                                        outputFloat.value);
  +                binding.echoStructAsSimpleTypes(input, outputString, 
  +                                                 outputInteger, outputFloat);
  +                output = new SOAPStruct();
  +                ((SOAPStruct)output).setVarInt(outputInteger.value);
  +                ((SOAPStruct)output).setVarString(outputString.value);
  +                ((SOAPStruct)output).setVarFloat(outputFloat.value);
                   verify("echoStructAsSimpleTypes",
                          input, output);
               } catch (Exception e) {
  @@ -462,7 +478,10 @@
           }
   
           {
  -            SOAPStruct input = new SOAPStruct(5, "Hello", 103F);
  +            SOAPStruct input = new SOAPStruct();
  +            input.setVarInt(5);
  +            input.setVarString("Hello");
  +            input.setVarFloat(103F);
               try {
                   output = binding.echoSimpleTypesAsStruct(
                      input.getVarString(), input.getVarInt(), input.getVarFloat());
  @@ -499,10 +518,15 @@
           }
   
           {
  -            SOAPStructStruct input = new SOAPStructStruct("AXIS",
  -                                                          1,
  -                                                          3F,
  -                                                          new SOAPStruct(5, "Hello", 103F));
  +            SOAPStruct inputS =new SOAPStruct();
  +            inputS.setVarInt(5);
  +            inputS.setVarString("Hello");
  +            inputS.setVarFloat(103F);
  +            SOAPStructStruct input = new SOAPStructStruct();
  +            input.setVarString("AXIS");
  +            input.setVarInt(1);
  +            input.setVarFloat(3F);
  +            input.setVarStruct(inputS);
               try {
                   output = binding.echoNestedStruct(input);
                   verify("echoNestedStruct", input, output);
  @@ -515,10 +539,11 @@
               }
           }
           {
  -            SOAPArrayStruct input = new SOAPArrayStruct("AXIS",
  -                                                        1,
  -                                                        3F,
  -                                                        new String[] {"one", "two", "three"});
  +            SOAPArrayStruct input = new SOAPArrayStruct();
  +            input.setVarString("AXIS");
  +            input.setVarInt(1);
  +            input.setVarFloat(3F);
  +            input.setVarArray(new String[] {"one", "two", "three"});
               try {
                   output = binding.echoNestedArray(input);
                   verify("echoNestedArray", input, output);
  @@ -597,12 +622,6 @@
   
           // set up the call object
           client.setURL(opts.getURL());
  -
  -        // support for tests with non-compliant applications
  -        client.addMethodToAction = (opts.isFlagSet('m') > 0);
  -
  -        String action = opts.isValueSet('a');
  -        if (action != null) client.soapAction = action;
   
           if (testPerformance) {
               long startTime = System.currentTimeMillis();
  
  
  
  1.19      +1 -1      xml-axis/java/samples/echo/deploy.wsdd
  
  Index: deploy.wsdd
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/samples/echo/deploy.wsdd,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- deploy.wsdd	29 Mar 2002 15:05:21 -0000	1.18
  +++ deploy.wsdd	9 Apr 2002 18:50:51 -0000	1.19
  @@ -12,7 +12,7 @@
   			xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">
     <service name="echo" provider="java:RPC" >
       <namespace>http://soapinterop.org/</namespace>
  -    <parameter name="className" value="samples.echo.EchoService" />
  +    <parameter name="className" value="samples.echo.InteropTestSoapBindingImpl" />
       <parameter name="allowedMethods" value="*" />
   
         <typeMapping
  
  
  
  1.1                  xml-axis/java/samples/echo/InteropTest.wsdl
  
  Index: InteropTest.wsdl
  ===================================================================
  <?xml version="1.0"?>
  <!-- This WSDL file is a combination of the InteropTest.wsdl -->
  <!-- and InteropTest2.wsdl files from White Mesa -->
  <definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xml-soap="http://xml.apache.org/xml-soap">
  
          <!-- These are the types defined for Round 2 A and B -->
          <!-- These types were copied from white mesa InteropTest.wsdl/InteropTestB.wsdl -->
  	<types>
  		<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/xsd">
  	                <import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/>
  			<complexType name="ArrayOfstring">
  				<complexContent>
  					<restriction base="SOAP-ENC:Array">
  						<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/>
  					</restriction>
  				</complexContent>
  			</complexType>
  			<complexType name="ArrayOfint">
  				<complexContent>
  					<restriction base="SOAP-ENC:Array">
  						<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/>
  					</restriction>
  				</complexContent>
  			</complexType>
  			<complexType name="ArrayOffloat">
  				<complexContent>
  					<restriction base="SOAP-ENC:Array">
  						<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/>
  					</restriction>
  				</complexContent>
  			</complexType>
  			<complexType name="ArrayOfSOAPStruct">
  				<complexContent>
  					<restriction base="SOAP-ENC:Array">
  						<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/>
  					</restriction>
  				</complexContent>
  			</complexType>
  			<complexType name="SOAPStruct">
  				<all>
  					<element name="varString" type="string"/>
  					<element name="varInt" type="int"/>
  					<element name="varFloat" type="float"/>
  				</all>
  			</complexType>
  			<complexType name="SOAPStructStruct">
  				<all>
  					<element name="varString" type="string"/>
  					<element name="varInt" type="int"/>
  					<element name="varFloat" type="float"/>
  					<element name="varStruct" type="s:SOAPStruct"/>
  				</all>
  			</complexType>
  			<complexType name="SOAPArrayStruct">
  				<all>
  					<element name="varString" type="string"/>
  					<element name="varInt" type="int"/>
  					<element name="varFloat" type="float"/>
  					<element name="varArray" type="s:ArrayOfstring"/>
  				</all>
  			</complexType>
              <complexType name="ArrayOfString2D">
                  <complexContent>
  			<restriction base="SOAP-ENC:Array">
  	                    <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:string[,]"/>
  			</restriction>
                  </complexContent>
              </complexType>
  
  			<complexType name="ArrayOfMap">
  				<complexContent>
  					<restriction base="SOAP-ENC:Array">
  						<attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xml-soap:Map[]"/>
  					</restriction>
  				</complexContent>
  			</complexType>
  		</schema>
  	</types>
  
          <!-- message, portType and binding for Round 2 tests -->
          <!-- Copied from white mesa InteropTest.wsdl -->
  	<message name="echoStringRequest">
  		<part name="inputString" type="xsd:string"/>
  	</message>
  	<message name="echoStringResponse">
  		<part name="return" type="xsd:string"/>
  	</message>
  	<message name="echoStringArrayRequest">
  		<part name="inputStringArray" type="s:ArrayOfstring"/>
  	</message>
  	<message name="echoStringArrayResponse">
  		<part name="return" type="s:ArrayOfstring"/>
  	</message>
  	<message name="echoIntegerRequest">
  		<part name="inputInteger" type="xsd:int"/>
  	</message>
  	<message name="echoIntegerResponse">
  		<part name="return" type="xsd:int"/>
  	</message>
  	<message name="echoIntegerArrayRequest">
  		<part name="inputIntegerArray" type="s:ArrayOfint"/>
  	</message>
  	<message name="echoIntegerArrayResponse">
  		<part name="return" type="s:ArrayOfint"/>
  	</message>
  	<message name="echoFloatRequest">
  		<part name="inputFloat" type="xsd:float"/>
  	</message>
  	<message name="echoFloatResponse">
  		<part name="return" type="xsd:float"/>
  	</message>
  	<message name="echoFloatArrayRequest">
  		<part name="inputFloatArray" type="s:ArrayOffloat"/>
  	</message>
  	<message name="echoFloatArrayResponse">
  		<part name="return" type="s:ArrayOffloat"/>
  	</message>
  	<message name="echoStructRequest">
  		<part name="inputStruct" type="s:SOAPStruct"/>
  	</message>
  	<message name="echoStructResponse">
  		<part name="return" type="s:SOAPStruct"/>
  	</message>
  	<message name="echoStructArrayRequest">
  		<part name="inputStructArray" type="s:ArrayOfSOAPStruct"/>
  	</message>
  	<message name="echoStructArrayResponse">
  		<part name="return" type="s:ArrayOfSOAPStruct"/>
  	</message>
  	<message name="echoVoidRequest"/>
  	<message name="echoVoidResponse"/>
  	<message name="echoBase64Request">
  		<part name="inputBase64" type="xsd:base64Binary"/>
  	</message>
  	<message name="echoBase64Response">
  		<part name="return" type="xsd:base64Binary"/>
  	</message>
  	<message name="echoDateRequest">
  		<part name="inputDate" type="xsd:dateTime"/>
  	</message>
  	<message name="echoDateResponse">
  		<part name="return" type="xsd:dateTime"/>
  	</message>
  	<message name="echoHexBinaryRequest">
  		<part name="inputHexBinary" type="xsd:hexBinary"/>
  	</message>
  	<message name="echoHexBinaryResponse">
  		<part name="return" type="xsd:hexBinary"/>
  	</message>
  	<message name="echoDecimalRequest">
  		<part name="inputDecimal" type="xsd:decimal"/>
  	</message>
  	<message name="echoDecimalResponse">
  		<part name="return" type="xsd:decimal"/>
  	</message>
  	<message name="echoBooleanRequest">
  		<part name="inputBoolean" type="xsd:boolean"/>
  	</message>
  	<message name="echoBooleanResponse">
  		<part name="return" type="xsd:boolean"/>
  	</message>
  
          <!-- messages for Round 2B tests -->
          <!-- Copied from white mesa InteropTestB.wsdl -->
  	<message name="echoStructAsSimpleTypesRequest">
  		<part name="inputStruct" type="s:SOAPStruct"/>
  	</message>
  	<message name="echoStructAsSimpleTypesResponse">
  		<part name="outputString" type="xsd:string"/>
  		<part name="outputInteger" type="xsd:int"/>
  		<part name="outputFloat" type="xsd:float"/>
  	</message>
  	<message name="echoSimpleTypesAsStructRequest">
  		<part name="inputString" type="xsd:string"/>
  		<part name="inputInteger" type="xsd:int"/>
  		<part name="inputFloat" type="xsd:float"/>
  	</message>
  	<message name="echoSimpleTypesAsStructResponse">
  		<part name="return" type="s:SOAPStruct"/>
  	</message>
  	<message name="echo2DStringArrayRequest">
  		<part name="input2DStringArray" type="s:ArrayOfString2D"/>
  	</message>
  	<message name="echo2DStringArrayResponse">
  		<part name="return" type="s:ArrayOfString2D"/>
  	</message>
  	<message name="echoNestedStructRequest">
  		<part name="inputStruct" type="s:SOAPStructStruct"/>
  	</message>
  	<message name="echoNestedStructResponse">
  		<part name="return" type="s:SOAPStructStruct"/>
  	</message>
  		<message name="echoNestedArrayRequest">
  		<part name="inputStruct" type="s:SOAPArrayStruct"/>
  	</message>
  	<message name="echoNestedArrayResponse">
  		<part name="return" type="s:SOAPArrayStruct"/>
  	</message>
  
  	<message name="echoMapRequest">
  		<part name="input" type="xml-soap:Map"/>
  	</message>
  	<message name="echoMapResponse">
  		<part name="return" type="xml-soap:Map"/>
  	</message>
  
  	<message name="echoMapArrayRequest">
  		<part name="input" type="s:ArrayOfMap"/>
  	</message>
  	<message name="echoMapArrayResponse">
  		<part name="return" type="s:ArrayOfMap"/>
  	</message>
  
  	<portType name="InteropTestPortType">
  		<operation name="echoString" parameterOrder="inputString">
  			<input message="tns:echoStringRequest"/>
  			<output message="tns:echoStringResponse"/>
  		</operation>
  		<operation name="echoStringArray" parameterOrder="inputStringArray">
  			<input message="tns:echoStringArrayRequest"/>
  			<output message="tns:echoStringArrayResponse"/>
  		</operation>
  		<operation name="echoInteger" parameterOrder="inputInteger">
  			<input message="tns:echoIntegerRequest"/>
  			<output message="tns:echoIntegerResponse"/>
  		</operation>
  		<operation name="echoIntegerArray" parameterOrder="inputIntegerArray">
  			<input message="tns:echoIntegerArrayRequest"/>
  			<output message="tns:echoIntegerArrayResponse"/>
  		</operation>
  		<operation name="echoFloat" parameterOrder="inputFloat">
  			<input message="tns:echoFloatRequest"/>
  			<output message="tns:echoFloatResponse"/>
  		</operation>
  		<operation name="echoFloatArray" parameterOrder="inputFloatArray">
  			<input message="tns:echoFloatArrayRequest"/>
  			<output message="tns:echoFloatArrayResponse"/>
  		</operation>
  		<operation name="echoStruct" parameterOrder="inputStruct">
  			<input message="tns:echoStructRequest"/>
  			<output message="tns:echoStructResponse"/>
  		</operation>
  		<operation name="echoStructArray" parameterOrder="inputStructArray">
  			<input message="tns:echoStructArrayRequest"/>
  			<output message="tns:echoStructArrayResponse"/>
  		</operation>
  		<operation name="echoVoid">
  			<input message="tns:echoVoidRequest"/>
  			<output message="tns:echoVoidResponse"/>
  		</operation>
  		<operation name="echoBase64" parameterOrder="inputBase64">
  			<input message="tns:echoBase64Request"/>
  			<output message="tns:echoBase64Response"/>
  		</operation>
  		<operation name="echoDate" parameterOrder="inputDate">
  			<input message="tns:echoDateRequest"/>
  			<output message="tns:echoDateResponse"/>
  		</operation>
  		<operation name="echoHexBinary" parameterOrder="inputHexBinary">
  			<input message="tns:echoHexBinaryRequest"/>
  			<output message="tns:echoHexBinaryResponse"/>
  		</operation>
  		<operation name="echoDecimal" parameterOrder="inputDecimal">
  			<input message="tns:echoDecimalRequest"/>
  			<output message="tns:echoDecimalResponse"/>
  		</operation>
  		<operation name="echoBoolean" parameterOrder="inputBoolean">
  			<input message="tns:echoBooleanRequest"/>
  			<output message="tns:echoBooleanResponse"/>
  		</operation>
  
                  <!-- Round2B operations -->
  		<operation name="echoStructAsSimpleTypes" parameterOrder="inputStruct outputString outputInteger outputFloat">
  			<input message="tns:echoStructAsSimpleTypesRequest"/>
  			<output message="tns:echoStructAsSimpleTypesResponse"/>
  		</operation>
  		<operation name="echoSimpleTypesAsStruct" parameterOrder="inputString inputInteger inputFloat">
  			<input message="tns:echoSimpleTypesAsStructRequest"/>
  			<output message="tns:echoSimpleTypesAsStructResponse"/>
  		</operation>
  		<operation name="echo2DStringArray" parameterOrder="input2DStringArray">
  			<input message="tns:echo2DStringArrayRequest"/>
  			<output message="tns:echo2DStringArrayResponse"/>
  		</operation>
  		<operation name="echoNestedStruct" parameterOrder="inputStruct">
  			<input message="tns:echoNestedStructRequest"/>
  			<output message="tns:echoNestedStructResponse"/>
  		</operation>
  		<operation name="echoNestedArray" parameterOrder="inputStruct">
  			<input message="tns:echoNestedArrayRequest"/>
  			<output message="tns:echoNestedArrayResponse"/>
  		</operation>
  
  
                  <operation name="echoMap" parameterOrder="input">
  			<input message="tns:echoMapRequest"/>
  			<output message="tns:echoMapResponse"/>
  		</operation>
                  <operation name="echoMapArray" parameterOrder="input">
  			<input message="tns:echoMapArrayRequest"/>
  			<output message="tns:echoMapArrayResponse"/>
  		</operation>
  	</portType>
  
  	<binding name="InteropTestSoapBinding" type="tns:InteropTestPortType">
  		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
  		<operation name="echoString">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoStringArray">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoInteger">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoIntegerArray">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoFloat">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoFloatArray">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoStruct">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoStructArray">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoVoid">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoBase64">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoDate">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoHexBinary">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoDecimal">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoBoolean">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  
                  <!-- Round2B Binding operations -->
  		<operation name="echoStructAsSimpleTypes">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoSimpleTypesAsStruct">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echo2DStringArray">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoNestedStruct">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  		<operation name="echoNestedArray">
  			<soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  
                  <operation name="echoMap">
                          <soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
                  <operation name="echoMapArray">
                          <soap:operation soapAction="http://soapinterop.org/"/>
  			<input>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</input>
  			<output>
  				<soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
  			</output>
  		</operation>
  	</binding>
  
     <!-- Service Description for Axis -->
     <service name="InteropTestService">
  
        <port binding="tns:InteropTestSoapBinding" name="echo">
  
           <soap:address location="http://nagoya.apache.org:5049/axis/services/echo"/>
  
        </port>
     </service>
  
  </definitions>
  
  
  
  1.1                  xml-axis/java/samples/echo/InteropTestSoapBindingImpl.java
  
  Index: InteropTestSoapBindingImpl.java
  ===================================================================
  /**
   * InteropTestSoapBindingImpl.java
   *
   * This file was auto-generated from WSDL
   * by the Apache Axis Wsdl2java emitter.
   * 
   * And then it was hand modified to echo 
   * the arguments back to the caller.
   */
  
  package samples.echo;
  
  public class InteropTestSoapBindingImpl implements samples.echo.InteropTestPortType {
      public java.lang.String echoString(java.lang.String inputString) throws java.rmi.RemoteException {
          return inputString;
      }
  
      public java.lang.String[] echoStringArray(java.lang.String[] inputStringArray) throws java.rmi.RemoteException {
          return inputStringArray;
      }
  
      public int echoInteger(int inputInteger) throws java.rmi.RemoteException {
          return inputInteger;
      }
  
      public int[] echoIntegerArray(int[] inputIntegerArray) throws java.rmi.RemoteException {
          return inputIntegerArray;
      }
  
      public float echoFloat(float inputFloat) throws java.rmi.RemoteException {
          return inputFloat;
      }
  
      public float[] echoFloatArray(float[] inputFloatArray) throws java.rmi.RemoteException {
          return inputFloatArray;
      }
  
      public samples.echo.SOAPStruct echoStruct(samples.echo.SOAPStruct inputStruct) throws java.rmi.RemoteException {
          return inputStruct;
      }
  
      public samples.echo.SOAPStruct[] echoStructArray(samples.echo.SOAPStruct[] inputStructArray) throws java.rmi.RemoteException {
          return inputStructArray;
      }
  
      public void echoVoid() throws java.rmi.RemoteException {
      }
  
      public byte[] echoBase64(byte[] inputBase64) throws java.rmi.RemoteException {
          return inputBase64;
      }
  
      public java.util.Calendar echoDate(java.util.Calendar inputDate) throws java.rmi.RemoteException {
          return inputDate;
      }
  
      public byte[] echoHexBinary(byte[] inputHexBinary) throws java.rmi.RemoteException {
          return inputHexBinary;
      }
  
      public java.math.BigDecimal echoDecimal(java.math.BigDecimal inputDecimal) throws java.rmi.RemoteException {
          return inputDecimal;
      }
  
      public boolean echoBoolean(boolean inputBoolean) throws java.rmi.RemoteException {
          return inputBoolean;
      }
  
      public void echoStructAsSimpleTypes(samples.echo.SOAPStruct inputStruct, javax.xml.rpc.holders.StringHolder outputString, javax.xml.rpc.holders.IntHolder outputInteger, javax.xml.rpc.holders.FloatHolder outputFloat) throws java.rmi.RemoteException {
          outputString.value = inputStruct.getVarString() ;
          outputInteger.value = inputStruct.getVarInt() ;
          outputFloat.value = inputStruct.getVarFloat() ;
      }
  
      public samples.echo.SOAPStruct echoSimpleTypesAsStruct(java.lang.String inputString, int inputInteger, float inputFloat) throws java.rmi.RemoteException {
          samples.echo.SOAPStruct s = new samples.echo.SOAPStruct();
          s.setVarInt(inputInteger);
          s.setVarString(inputString);
          s.setVarFloat(inputFloat);
          return s;
      }
  
      public java.lang.String[][] echo2DStringArray(java.lang.String[][] input2DStringArray) throws java.rmi.RemoteException {
          return input2DStringArray;
      }
  
      public samples.echo.SOAPStructStruct echoNestedStruct(samples.echo.SOAPStructStruct inputStruct) throws java.rmi.RemoteException {
          return inputStruct;
      }
  
      public samples.echo.SOAPArrayStruct echoNestedArray(samples.echo.SOAPArrayStruct inputStruct) throws java.rmi.RemoteException {
          return inputStruct;
      }
  
      /**
       * This method accepts a Map and echoes it back to the client.
       */
      public java.util.HashMap echoMap(java.util.HashMap input) {
          return input;
      }
  
      /**
       * This method accepts an array of Maps and echoes it back to the client.
       */
      public java.util.HashMap [] echoMapArray(java.util.HashMap[] input) {
          return input;
      }
  }