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 gd...@apache.org on 2005/04/17 04:25:53 UTC

cvs commit: ws-axis/java/test/wsdl/echo2 Echo2PT.java Echo2Service.java Echo2ServiceTestCase.java Echo2SoapBindingImpl.java MyBase64Bean.java build.xml deploy.wsdd echo2.wsdl readme.txt

gdaniels    2005/04/16 19:25:53

  Added:       java/test/wsdl/echo2 Echo2PT.java Echo2Service.java
                        Echo2ServiceTestCase.java Echo2SoapBindingImpl.java
                        MyBase64Bean.java build.xml deploy.wsdd echo2.wsdl
                        readme.txt
  Log:
  Check in Guillaume's test, which works for now - because we're
  managing to deserialize XML which doesn't match the schema (we
  don't care what the "item" QName is when deserializing an array).
  
  Need to update the test to check the XML manually, and fix the
  array serialization problem.
  
  Revision  Changes    Path
  1.1                  ws-axis/java/test/wsdl/echo2/Echo2PT.java
  
  Index: Echo2PT.java
  ===================================================================
  /**
   * Echo2PT.java
   *
   * This file was auto-generated from WSDL
   * by the Apache Axis #axisVersion# #today# WSDL2Java emitter.
   */
  
  package test.wsdl.echo2;
  
  public interface Echo2PT extends java.rmi.Remote {
      public test.wsdl.echo2.MyBase64Bean echoMyBase64Bean(test.wsdl.echo2.MyBase64Bean input) throws java.rmi.RemoteException;
      public test.wsdl.echo2.MyBase64Bean[] echoArrayOfMyBase64Bean(test.wsdl.echo2.MyBase64Bean[] input) throws java.rmi.RemoteException;
      public java.lang.String[] echoArrayOfString_MaxOccursUnbounded(java.lang.String[] input) throws java.rmi.RemoteException;
      public java.lang.String[] echoArrayOfString_SoapEncArray(java.lang.String[] input) throws java.rmi.RemoteException;
  }
  
  
  
  1.1                  ws-axis/java/test/wsdl/echo2/Echo2Service.java
  
  Index: Echo2Service.java
  ===================================================================
  /**
   * Echo2Service.java
   *
   * This file was auto-generated from WSDL
   * by the Apache Axis #axisVersion# #today# WSDL2Java emitter.
   */
  
  package test.wsdl.echo2;
  
  public interface Echo2Service extends javax.xml.rpc.Service {
      public java.lang.String getEcho2Address();
  
      public test.wsdl.echo2.Echo2PT getEcho2() throws javax.xml.rpc.ServiceException;
  
      public test.wsdl.echo2.Echo2PT getEcho2(java.net.URL portAddress) throws javax.xml.rpc.ServiceException;
  }
  
  
  
  1.1                  ws-axis/java/test/wsdl/echo2/Echo2ServiceTestCase.java
  
  Index: Echo2ServiceTestCase.java
  ===================================================================
  /**
   * Echo2ServiceTestCase.java
   *
   * This file was auto-generated from WSDL
   * by the Apache Axis 1.2RC3 Mar 22, 2005 (05:08:41 CET) WSDL2Java emitter.
   */
  package test.wsdl.echo2;
  
  import javax.xml.namespace.QName;
  import org.apache.axis.client.Call;
  import org.apache.axis.client.Service;
  import org.apache.axis.encoding.ser.BeanDeserializerFactory;
  import org.apache.axis.encoding.ser.BeanSerializerFactory;
  import org.apache.axis.message.SOAPBody;
  
  public class Echo2ServiceTestCase extends junit.framework.TestCase {
      public Echo2ServiceTestCase(java.lang.String name) {
          super(name);
      }
  
      public void testEcho2WSDL() throws Exception {
          javax.xml.rpc.ServiceFactory serviceFactory = javax.xml.rpc.ServiceFactory
                  .newInstance();
          java.net.URL url = new java.net.URL(
                  new test.wsdl.echo2.Echo2ServiceLocator().getEcho2Address()
                          + "?WSDL");
          javax.xml.rpc.Service service = serviceFactory.createService(url,
                  new test.wsdl.echo2.Echo2ServiceLocator().getServiceName());
          assertTrue(service != null);
      }
  
      public void test1Echo2EchoMyBase64Bean() throws Exception {
          test.wsdl.echo2.Echo2SoapBindingStub binding;
          binding = (test.wsdl.echo2.Echo2SoapBindingStub) new test.wsdl.echo2.Echo2ServiceLocator()
                  .getEcho2();
          assertNotNull("binding is null", binding);
          // Time out after a minute
          binding.setTimeout(60000);
          /*
          call.registerTypeMapping(
                  MyBase64Bean.class,
                  new QName("urn:echo2.wsdl.test", "MyBase64Bean"),
                  new BeanSerializerFactory(MyBase64Bean.class, new QName(
                          "urn:echo2.wsdl.test", "MyBase64Bean")),
                  new BeanDeserializerFactory(MyBase64Bean.class, new QName(
                          "urn:echo2.wsdl.test", "MyBase64Bean")));
  */
          // was causing serialization problem : cannot serializer for type MyBase64Bean ?!
          //call.setClientHandlers(new ValidateSerializationHandler(), null);
  
          // message is more clear without multiref
          binding._setProperty("sendMultiRefs", Boolean.FALSE);
          // Test operation
          test.wsdl.echo2.MyBase64Bean input = new test.wsdl.echo2.MyBase64Bean();
          fillMyBase64Bean(input);
          test.wsdl.echo2.MyBase64Bean ret = binding.echoMyBase64Bean(input);
          // TBD - validate results
      }
  
      public void test1Echo2EchoArrayOfMyBase64Bean() throws Exception {
          test.wsdl.echo2.Echo2SoapBindingStub binding;
          binding = (test.wsdl.echo2.Echo2SoapBindingStub) new test.wsdl.echo2.Echo2ServiceLocator()
                  .getEcho2();
          assertNotNull("binding is null", binding);
          // Time out after a minute
          binding.setTimeout(60000);
          // Test operation
          MyBase64Bean[] value = null;
          MyBase64Bean[] array = new MyBase64Bean[2];
          array[0] = new MyBase64Bean();
          fillMyBase64Bean(array[0]);
          array[1] = new MyBase64Bean();
          fillMyBase64Bean(array[1]);
          value = binding.echoArrayOfMyBase64Bean(array);
          // TBD - validate results
      }
  
      /**
       * @param bean
       */
      private void fillMyBase64Bean(MyBase64Bean bean) {
          bean.setVarSoapBase64(new byte[] {127, 0, -127});
          bean.setVarSoapBase64Binary(new byte[] {127, 0, -127});
          bean.setVarXsdBase64Binary(new byte[] {127, 0, -127});
          bean.setVarXsdHexBinary(new byte[] {127, 0, -127});
  
      }
  
      public void test2Echo2EchoArrayOfString_MaxOccursUnbounded()
              throws Exception {
          test.wsdl.echo2.Echo2SoapBindingStub binding;
          Echo2ServiceLocator loc = new test.wsdl.echo2.Echo2ServiceLocator();
          try {
              binding = (test.wsdl.echo2.Echo2SoapBindingStub)loc.getEcho2();
          } catch (javax.xml.rpc.ServiceException jre) {
              if (jre.getLinkedCause() != null)
                  jre.getLinkedCause().printStackTrace();
              throw new junit.framework.AssertionFailedError(
                      "JAX-RPC ServiceException caught: " + jre);
          }
          assertNotNull("binding is null", binding);
          // Time out after a minute
          binding.setTimeout(60000);
          // Test operation
  		java.lang.String[] value = null;
          value = binding
                  .echoArrayOfString_MaxOccursUnbounded(new String[]{"one", "two", "", null});
          // TBD - validate results
          Service service = (Service)binding._getService();
          SOAPBody body = (SOAPBody)service.getCall().getResponseMessage().getSOAPBody();
          System.out.println(body.toString());
      }
  
      public void test3Echo2EchoArrayOfString_SoapEncArray() throws Exception {
          test.wsdl.echo2.Echo2SoapBindingStub binding;
          try {
              binding = (test.wsdl.echo2.Echo2SoapBindingStub) new test.wsdl.echo2.Echo2ServiceLocator()
                      .getEcho2();
          } catch (javax.xml.rpc.ServiceException jre) {
              if (jre.getLinkedCause() != null)
                  jre.getLinkedCause().printStackTrace();
              throw new junit.framework.AssertionFailedError(
                      "JAX-RPC ServiceException caught: " + jre);
          }
          assertNotNull("binding is null", binding);
          // Time out after a minute
          binding.setTimeout(60000);
          // Test operation
          java.lang.String[] value = null;
          value = binding.echoArrayOfString_SoapEncArray(new java.lang.String[] {
                  "one", "two", "three", "", null });
          // TBD - validate results
      }
  	public static void main(String[] argv) throws Exception {
  		Echo2ServiceTestCase tc = new Echo2ServiceTestCase("somehging;");
  		tc.test1Echo2EchoMyBase64Bean();
  	}
  }
  
  
  
  1.1                  ws-axis/java/test/wsdl/echo2/Echo2SoapBindingImpl.java
  
  Index: Echo2SoapBindingImpl.java
  ===================================================================
  /**
   * Echo2SoapBindingImpl.java
   *
   * This file was auto-generated from WSDL
   * by the Apache Axis 1.2RC3 Mar 22, 2005 (05:08:41 CET) WSDL2Java emitter.
   */
  
  package test.wsdl.echo2;
  
  public class Echo2SoapBindingImpl implements test.wsdl.echo2.Echo2PT{
      public test.wsdl.echo2.MyBase64Bean echoMyBase64Bean(test.wsdl.echo2.MyBase64Bean input) throws java.rmi.RemoteException {
          return input;
      }
      public test.wsdl.echo2.MyBase64Bean[] echoArrayOfMyBase64Bean(test.wsdl.echo2.MyBase64Bean[] input) throws java.rmi.RemoteException {
          return input;
      }
  
      public String[] echoArrayOfString_MaxOccursUnbounded(String[] input) throws java.rmi.RemoteException {
          return input;
      }
  
      public java.lang.String[] echoArrayOfString_SoapEncArray(java.lang.String[] input) throws java.rmi.RemoteException {
          return input;
      }
  
  }
  
  
  
  1.1                  ws-axis/java/test/wsdl/echo2/MyBase64Bean.java
  
  Index: MyBase64Bean.java
  ===================================================================
  /**
   * MyBase64Bean.java
   *
   * This file was auto-generated from WSDL
   * by the Apache Axis #axisVersion# #today# WSDL2Java emitter.
   */
  
  package test.wsdl.echo2;
  
  public class MyBase64Bean  implements java.io.Serializable {
      private java.lang.Byte varXsdByte;
      private java.lang.Byte varSoapByte;
      private byte[] varXsdBase64Binary;
      private byte[] varSoapBase64Binary;
      private byte[] varXsdHexBinary;
      private byte[] varSoapBase64;
  
      public MyBase64Bean() {
      }
  
      public MyBase64Bean(
             java.lang.Byte varXsdByte,
             java.lang.Byte varSoapByte,
             byte[] varXsdBase64Binary,
             byte[] varSoapBase64Binary,
             byte[] varXsdHexBinary,
             byte[] varSoapBase64) {
             this.varXsdByte = varXsdByte;
             this.varSoapByte = varSoapByte;
             this.varXsdBase64Binary = varXsdBase64Binary;
             this.varSoapBase64Binary = varSoapBase64Binary;
             this.varXsdHexBinary = varXsdHexBinary;
             this.varSoapBase64 = varSoapBase64;
      }
  
  
      /**
       * Gets the varXsdByte value for this MyBase64Bean.
       * 
       * @return varXsdByte
       */
      public java.lang.Byte getVarXsdByte() {
          return varXsdByte;
      }
  
  
      /**
       * Sets the varXsdByte value for this MyBase64Bean.
       * 
       * @param varXsdByte
       */
      public void setVarXsdByte(java.lang.Byte varXsdByte) {
          this.varXsdByte = varXsdByte;
      }
  
  
      /**
       * Gets the varSoapByte value for this MyBase64Bean.
       * 
       * @return varSoapByte
       */
      public java.lang.Byte getVarSoapByte() {
          return varSoapByte;
      }
  
  
      /**
       * Sets the varSoapByte value for this MyBase64Bean.
       * 
       * @param varSoapByte
       */
      public void setVarSoapByte(java.lang.Byte varSoapByte) {
          this.varSoapByte = varSoapByte;
      }
  
  
      /**
       * Gets the varXsdBase64Binary value for this MyBase64Bean.
       * 
       * @return varXsdBase64Binary
       */
      public byte[] getVarXsdBase64Binary() {
          return varXsdBase64Binary;
      }
  
  
      /**
       * Sets the varXsdBase64Binary value for this MyBase64Bean.
       * 
       * @param varXsdBase64Binary
       */
      public void setVarXsdBase64Binary(byte[] varXsdBase64Binary) {
          this.varXsdBase64Binary = varXsdBase64Binary;
      }
  
  
      /**
       * Gets the varSoapBase64Binary value for this MyBase64Bean.
       * 
       * @return varSoapBase64Binary
       */
      public byte[] getVarSoapBase64Binary() {
          return varSoapBase64Binary;
      }
  
  
      /**
       * Sets the varSoapBase64Binary value for this MyBase64Bean.
       * 
       * @param varSoapBase64Binary
       */
      public void setVarSoapBase64Binary(byte[] varSoapBase64Binary) {
          this.varSoapBase64Binary = varSoapBase64Binary;
      }
  
  
      /**
       * Gets the varXsdHexBinary value for this MyBase64Bean.
       * 
       * @return varXsdHexBinary
       */
      public byte[] getVarXsdHexBinary() {
          return varXsdHexBinary;
      }
  
  
      /**
       * Sets the varXsdHexBinary value for this MyBase64Bean.
       * 
       * @param varXsdHexBinary
       */
      public void setVarXsdHexBinary(byte[] varXsdHexBinary) {
          this.varXsdHexBinary = varXsdHexBinary;
      }
  
  
      /**
       * Gets the varSoapBase64 value for this MyBase64Bean.
       * 
       * @return varSoapBase64
       */
      public byte[] getVarSoapBase64() {
          return varSoapBase64;
      }
  
  
      /**
       * Sets the varSoapBase64 value for this MyBase64Bean.
       * 
       * @param varSoapBase64
       */
      public void setVarSoapBase64(byte[] varSoapBase64) {
          this.varSoapBase64 = varSoapBase64;
      }
  
      private java.lang.Object __equalsCalc = null;
      public synchronized boolean equals(java.lang.Object obj) {
          if (!(obj instanceof MyBase64Bean)) return false;
          MyBase64Bean other = (MyBase64Bean) obj;
          if (obj == null) return false;
          if (this == obj) return true;
          if (__equalsCalc != null) {
              return (__equalsCalc == obj);
          }
          __equalsCalc = obj;
          boolean _equals;
          _equals = true && 
              ((this.varXsdByte==null && other.getVarXsdByte()==null) || 
               (this.varXsdByte!=null &&
                this.varXsdByte.equals(other.getVarXsdByte()))) &&
              ((this.varSoapByte==null && other.getVarSoapByte()==null) || 
               (this.varSoapByte!=null &&
                this.varSoapByte.equals(other.getVarSoapByte()))) &&
              ((this.varXsdBase64Binary==null && other.getVarXsdBase64Binary()==null) || 
               (this.varXsdBase64Binary!=null &&
                java.util.Arrays.equals(this.varXsdBase64Binary, other.getVarXsdBase64Binary()))) &&
              ((this.varSoapBase64Binary==null && other.getVarSoapBase64Binary()==null) || 
               (this.varSoapBase64Binary!=null &&
                java.util.Arrays.equals(this.varSoapBase64Binary, other.getVarSoapBase64Binary()))) &&
              ((this.varXsdHexBinary==null && other.getVarXsdHexBinary()==null) || 
               (this.varXsdHexBinary!=null &&
                java.util.Arrays.equals(this.varXsdHexBinary, other.getVarXsdHexBinary()))) &&
              ((this.varSoapBase64==null && other.getVarSoapBase64()==null) || 
               (this.varSoapBase64!=null &&
                java.util.Arrays.equals(this.varSoapBase64, other.getVarSoapBase64())));
          __equalsCalc = null;
          return _equals;
      }
  
      private boolean __hashCodeCalc = false;
      public synchronized int hashCode() {
          if (__hashCodeCalc) {
              return 0;
          }
          __hashCodeCalc = true;
          int _hashCode = 1;
          if (getVarXsdByte() != null) {
              _hashCode += getVarXsdByte().hashCode();
          }
          if (getVarSoapByte() != null) {
              _hashCode += getVarSoapByte().hashCode();
          }
          if (getVarXsdBase64Binary() != null) {
              for (int i=0;
                   i<java.lang.reflect.Array.getLength(getVarXsdBase64Binary());
                   i++) {
                  java.lang.Object obj = java.lang.reflect.Array.get(getVarXsdBase64Binary(), i);
                  if (obj != null &&
                      !obj.getClass().isArray()) {
                      _hashCode += obj.hashCode();
                  }
              }
          }
          if (getVarSoapBase64Binary() != null) {
              for (int i=0;
                   i<java.lang.reflect.Array.getLength(getVarSoapBase64Binary());
                   i++) {
                  java.lang.Object obj = java.lang.reflect.Array.get(getVarSoapBase64Binary(), i);
                  if (obj != null &&
                      !obj.getClass().isArray()) {
                      _hashCode += obj.hashCode();
                  }
              }
          }
          if (getVarXsdHexBinary() != null) {
              for (int i=0;
                   i<java.lang.reflect.Array.getLength(getVarXsdHexBinary());
                   i++) {
                  java.lang.Object obj = java.lang.reflect.Array.get(getVarXsdHexBinary(), i);
                  if (obj != null &&
                      !obj.getClass().isArray()) {
                      _hashCode += obj.hashCode();
                  }
              }
          }
          if (getVarSoapBase64() != null) {
              for (int i=0;
                   i<java.lang.reflect.Array.getLength(getVarSoapBase64());
                   i++) {
                  java.lang.Object obj = java.lang.reflect.Array.get(getVarSoapBase64(), i);
                  if (obj != null &&
                      !obj.getClass().isArray()) {
                      _hashCode += obj.hashCode();
                  }
              }
          }
          __hashCodeCalc = false;
          return _hashCode;
      }
  
      // Type metadata
      private static org.apache.axis.description.TypeDesc typeDesc =
          new org.apache.axis.description.TypeDesc(MyBase64Bean.class, true);
  
      static {
          typeDesc.setXmlType(new javax.xml.namespace.QName("urn:echo2.wsdl.test", "MyBase64Bean"));
          org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
          elemField.setFieldName("varXsdByte");
          elemField.setXmlName(new javax.xml.namespace.QName("", "varXsdByte"));
          elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "byte"));
          elemField.setNillable(true);
          typeDesc.addFieldDesc(elemField);
          elemField = new org.apache.axis.description.ElementDesc();
          elemField.setFieldName("varSoapByte");
          elemField.setXmlName(new javax.xml.namespace.QName("", "varSoapByte"));
          elemField.setXmlType(new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "byte"));
          elemField.setNillable(true);
          typeDesc.addFieldDesc(elemField);
          elemField = new org.apache.axis.description.ElementDesc();
          elemField.setFieldName("varXsdBase64Binary");
          elemField.setXmlName(new javax.xml.namespace.QName("", "varXsdBase64Binary"));
          elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "base64Binary"));
          elemField.setNillable(true);
          typeDesc.addFieldDesc(elemField);
          elemField = new org.apache.axis.description.ElementDesc();
          elemField.setFieldName("varSoapBase64Binary");
          elemField.setXmlName(new javax.xml.namespace.QName("", "varSoapBase64Binary"));
          elemField.setXmlType(new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "base64Binary"));
          elemField.setNillable(true);
          typeDesc.addFieldDesc(elemField);
          elemField = new org.apache.axis.description.ElementDesc();
          elemField.setFieldName("varXsdHexBinary");
          elemField.setXmlName(new javax.xml.namespace.QName("", "varXsdHexBinary"));
          elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "hexBinary"));
          elemField.setNillable(true);
          typeDesc.addFieldDesc(elemField);
          elemField = new org.apache.axis.description.ElementDesc();
          elemField.setFieldName("varSoapBase64");
          elemField.setXmlName(new javax.xml.namespace.QName("", "varSoapBase64"));
          elemField.setXmlType(new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "base64"));
          elemField.setNillable(true);
          typeDesc.addFieldDesc(elemField);
      }
  
      /**
       * Return type metadata object
       */
      public static org.apache.axis.description.TypeDesc getTypeDesc() {
          return typeDesc;
      }
  
      /**
       * Get Custom Serializer
       */
      public static org.apache.axis.encoding.Serializer getSerializer(
             java.lang.String mechType, 
             java.lang.Class _javaType,  
             javax.xml.namespace.QName _xmlType) {
          return 
            new  org.apache.axis.encoding.ser.BeanSerializer(
              _javaType, _xmlType, typeDesc);
      }
  
      /**
       * Get Custom Deserializer
       */
      public static org.apache.axis.encoding.Deserializer getDeserializer(
             java.lang.String mechType, 
             java.lang.Class _javaType,  
             javax.xml.namespace.QName _xmlType) {
          return 
            new  org.apache.axis.encoding.ser.BeanDeserializer(
              _javaType, _xmlType, typeDesc);
      }
  
  }
  
  
  
  1.1                  ws-axis/java/test/wsdl/echo2/build.xml
  
  Index: build.xml
  ===================================================================
  <?xml version="1.0" ?>
  <!DOCTYPE project [
          <!ENTITY properties SYSTEM "file:../../../xmls/properties.xml">
  <!ENTITY paths  SYSTEM "file:../../../xmls/path_refs.xml">
  <!ENTITY taskdefs SYSTEM "file:../../../xmls/taskdefs.xml">
  <!ENTITY taskdefs_post_compile SYSTEM "file:../../../xmls/taskdefs_post_compile.xml">
  <!ENTITY targets SYSTEM "file:../../../xmls/targets.xml">
  ]>
  
  <!-- ===================================================================
  <description>
     Test/Sample Component file for Axis
  
  Notes:
     This is a build file for use with the Jakarta Ant build tool.
  
  Prerequisites:
  
     jakarta-ant from http://jakarta.apache.org
  
  Build Instructions:
     To compile
          ant compile
     To execute
          ant run
  
  Author:
    Matt Seibert mseibert@us.ibm.com
  
  Copyright:
    Copyright (c) 2002-2003 Apache Software Foundation.
  </description>
  ==================================================================== -->
  
  <project default="compile">
  
    <property name="axis.home" location="../../.." />
    <property name="componentName" value="test/wsdl/echo2" />
          &properties;
          &paths;
          &taskdefs;
          &taskdefs_post_compile;
          &targets;
  
  
  <target name="clean">
      <echo message="Removing ${build.dir}/classes/${componentName} and ${build.dir}/work/${componentName}" />
      <delete dir="${build.dir}/classes/${componentName}" />
      <delete dir="${build.dir}/work/${componentName}" />
    </target>
  
    <target name="copy" depends="setenv" />
  
    <target name="compile" depends="copy">
      <echo message="Compiling test.wsdl.echo2" />
      <!-- This tests holders for complextype Bug:10247 -->
      <wsdl2java url="${axis.home}/${componentName}/echo2.wsdl"
                 output="${axis.home}/build/work"
                 serverSide="yes"
                 testcase="yes"
                 >
        <mapping namespace="urn:echo2.wsdl.test" package="test.wsdl.echo2" />
      </wsdl2java>
  
      <copy todir="${build.dir}/work/${componentName}" overwrite="yes">
        <fileset dir="${axis.home}/${componentName}">
          <include name="*TestCase.java" />
          <include name="*Impl.java" />
          <include name="*Handler.java" />
          <include name="*MyBase64Bean.java" />
        </fileset>
      </copy>
  
      <javac srcdir="${build.dir}/work"
             destdir="${build.dest}"
             nowarn="${nowarn}"
             source="${source}"
             fork="${javac.fork}"
             debug="${debug}">
        <classpath refid="classpath" />
        <include name="${componentName}/*.java" />
      </javac>
    </target>
  
    <target name="run">
      <antcall target="execute-Component" />
    </target>
  
  </project>
  
  
  
  1.1                  ws-axis/java/test/wsdl/echo2/deploy.wsdd
  
  Index: deploy.wsdd
  ===================================================================
  <!-- 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 Echo2Service WSDL service -->
  
    <service name="Echo2" provider="java:RPC" style="rpc" use="encoded">
        <parameter name="wsdlTargetNamespace" value="urn:echo2.wsdl.test"/>
        <parameter name="wsdlServiceElement" value="Echo2Service"/>
        <parameter name="wsdlServicePort" value="Echo2"/>
        <parameter name="className" value="test.wsdl.echo2.Echo2SoapBindingImpl"/>
        <parameter name="wsdlPortType" value="Echo2PT"/>
        <parameter name="typeMappingVersion" value="1.3"/>
  
        <operation name="echoMyBase64Bean" qname="operNS:echoMyBase64Bean" xmlns:operNS="urn:echo2.wsdl.test" returnQName="return" returnType="rtns:MyBase64Bean" xmlns:rtns="urn:echo2.wsdl.test" soapAction="" >
          <parameter qname="input" type="tns:MyBase64Bean" xmlns:tns="urn:echo2.wsdl.test"/>
        </operation>
        <operation name="echoArrayOfString_MaxOccursUnbounded" qname="operNS:echoArrayOfString_MaxOccursUnbounded" xmlns:operNS="urn:echo2.wsdl.test" returnQName="return" returnType="rtns:ArrayOfString_MaxOccursUnbounded" xmlns:rtns="urn:echo2.wsdl.test" soapAction="" >
          <parameter qname="input" type="tns:ArrayOfString_MaxOccursUnbounded" xmlns:tns="urn:echo2.wsdl.test"/>
        </operation>
        <operation name="echoArrayOfString_SoapEncArray" qname="operNS:echoArrayOfString_SoapEncArray" xmlns:operNS="urn:echo2.wsdl.test" returnQName="return" returnType="rtns:ArrayOfString_SoapEncArray" xmlns:rtns="urn:echo2.wsdl.test" soapAction="" >
          <parameter qname="input" type="tns:ArrayOfString_SoapEncArray" xmlns:tns="urn:echo2.wsdl.test"/>
        </operation>
        <parameter name="allowedMethods" value="echoArrayOfString_SoapEncArray echoArrayOfString_MaxOccursUnbounded echoMyBase64Bean"/>
  
        <typeMapping
          xmlns:ns="urn:echo2.wsdl.test"
          qname="ns:MyBase64Bean"
          type="java:test.wsdl.echo2.MyBase64Bean"
          serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
          deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
          encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
        />
    </service>
  </deployment>
  
  
  
  1.1                  ws-axis/java/test/wsdl/echo2/echo2.wsdl
  
  Index: echo2.wsdl
  ===================================================================
  <?xml version="1.0" encoding="utf-8" ?>
  <wsdl:definitions targetNamespace="urn:echo2.wsdl.test"
  	xmlns="http://schemas.xmlsoap.org/wsdl/"
  	xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
  	xmlns:tns="urn:echo2.wsdl.test"
  	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="urn:echo2.wsdl.test"
  			xmlns="http://www.w3.org/2001/XMLSchema">
  			<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
  
  			<complexType name="ArrayOfString_MaxOccursUnbounded">
  				<sequence>
  					<element name="varStringArray" nillable="true" type="xsd:string" maxOccurs="unbounded" />
  				</sequence>
  			</complexType>
  			<complexType name="ArrayOfString_SoapEncArray">
  				<complexContent>
  					<restriction base="soapenc:Array">
  						<attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
  					</restriction>
  				</complexContent>
  			</complexType>
  			<complexType name="MyBase64Bean">
  				<sequence>
  					<element name="varXsdByte" nillable="true" type="xsd:byte" />
                      <element name="varSoapByte" nillable="true" type="soapenc:byte" />
  					<element name="varXsdBase64Binary" nillable="true" type="xsd:base64Binary" />
                      <element name="varSoapBase64Binary" nillable="true" type="soapenc:base64Binary" />
  					<element name="varXsdHexBinary" nillable="true" type="xsd:hexBinary" />
                      <element name="varSoapBase64" nillable="true" type="soapenc:base64" />
  				</sequence>
  			</complexType>
  			<complexType name="ArrayOfMyBase64Bean">
  				<sequence>
  					<element name="varMyBase64Bean" nillable="true" maxOccurs="unbounded" type="tns:MyBase64Bean" />
  				</sequence>
  			</complexType>
  		</schema>
  	</wsdl:types>
  
  	<wsdl:message name="echoMyBase64BeanRequest">
  		<wsdl:part type="tns:MyBase64Bean" name="input" />
  	</wsdl:message>
  	<wsdl:message name="echoMyBase64BeanResponse">
  		<wsdl:part type="tns:MyBase64Bean" name="return" />
  	</wsdl:message>
  
  	<wsdl:message name="echoArrayOfMyBase64BeanRequest">
  		<wsdl:part type="tns:ArrayOfMyBase64Bean" name="input" />
  	</wsdl:message>
  	<wsdl:message name="echoArrayOfMyBase64BeanResponse">
  		<wsdl:part type="tns:ArrayOfMyBase64Bean" name="return" />
  	</wsdl:message>
  
  	<wsdl:message name="echoArrayOfString_MaxOccursUnboundedRequest">
  		<wsdl:part type="tns:ArrayOfString_MaxOccursUnbounded" name="input" />
  	</wsdl:message>
  	<wsdl:message name="echoArrayOfString_MaxOccursUnboundedResponse">
  		<wsdl:part type="tns:ArrayOfString_MaxOccursUnbounded" name="return" />
  	</wsdl:message>
  
  	<wsdl:message name="echoArrayOfString_SoapEncArrayRequest">
  		<wsdl:part type="tns:ArrayOfString_SoapEncArray" name="input" />
  	</wsdl:message>
  	<wsdl:message name="echoArrayOfString_SoapEncArrayResponse">
  		<wsdl:part type="tns:ArrayOfString_SoapEncArray" name="return" />
  	</wsdl:message>
  
  	<wsdl:portType name="Echo2PT">
  		<wsdl:operation name="echoMyBase64Bean">
  			<wsdl:input message="tns:echoMyBase64BeanRequest" name="echoMyBase64BeanRequest" />
  			<wsdl:output message="tns:echoMyBase64BeanResponse" name="echoMyBase64BeanResponse" />
  		</wsdl:operation>
  		<wsdl:operation name="echoArrayOfMyBase64Bean">
  			<wsdl:input message="tns:echoArrayOfMyBase64BeanRequest" name="echoArrayOfMyBase64BeanRequest" />
  			<wsdl:output message="tns:echoArrayOfMyBase64BeanResponse" name="echoArrayOfMyBase64BeanResponse" />
  		</wsdl:operation>
  		<wsdl:operation name="echoArrayOfString_MaxOccursUnbounded">
       		<wsdl:input message="tns:echoArrayOfString_MaxOccursUnboundedRequest" name="echoArrayOfString_MaxOccursUnboundedRequest" />
  			<wsdl:output message="tns:echoArrayOfString_MaxOccursUnboundedResponse" name="echoArrayOfString_MaxOccursUnboundedResponse" />
  		</wsdl:operation>
  		<wsdl:operation name="echoArrayOfString_SoapEncArray">
       		<wsdl:input message="tns:echoArrayOfString_SoapEncArrayRequest" name="echoArrayOfString_SoapEncArrayRequest" />
  			<wsdl:output message="tns:echoArrayOfString_SoapEncArrayResponse" name="echoArrayOfString_SoapEncArrayResponse" />
  		</wsdl:operation>
  	</wsdl:portType>
  
  	<wsdl:binding name="Echo2SoapBinding" type="tns:Echo2PT">
  		<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
  		<wsdl:operation name="echoMyBase64Bean">
  			<wsdlsoap:operation soapAction="" />
  			<wsdl:input name="echoMyBase64BeanRequest">
  				<wsdlsoap:body
  					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  					namespace="urn:echo2.wsdl.test" use="encoded" />
  			</wsdl:input>
  			<wsdl:output name="echoMyBase64BeanResponse">
  				<wsdlsoap:body
  					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  					namespace="urn:echo2.wsdl.test" use="encoded" />
  			</wsdl:output>
  		</wsdl:operation>
  		<wsdl:operation name="echoArrayOfMyBase64Bean">
  			<wsdlsoap:operation soapAction="" />
  			<wsdl:input name="echoArrayOfMyBase64BeanRequest">
  				<wsdlsoap:body
  					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  					namespace="urn:echo2.wsdl.test" use="encoded" />
  			</wsdl:input>
  			<wsdl:output name="echoArrayOfMyBase64BeanResponse">
  				<wsdlsoap:body
  					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  					namespace="urn:echo2.wsdl.test" use="encoded" />
  			</wsdl:output>
  		</wsdl:operation>
  		<wsdl:operation name="echoArrayOfString_MaxOccursUnbounded">
  			<wsdlsoap:operation soapAction="" />
  			<wsdl:input name="echoArrayOfString_MaxOccursUnboundedRequest">
  				<wsdlsoap:body
  					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  					namespace="urn:echo2.wsdl.test" use="encoded" />
  			</wsdl:input>
  			<wsdl:output name="echoArrayOfString_MaxOccursUnboundedResponse">
  				<wsdlsoap:body
  					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  					namespace="urn:echo2.wsdl.test" use="encoded" />
  			</wsdl:output>
  		</wsdl:operation>
  		<wsdl:operation name="echoArrayOfString_SoapEncArray">
  			<wsdlsoap:operation soapAction="" />
  			<wsdl:input name="echoArrayOfString_SoapEncArrayRequest">
  				<wsdlsoap:body
  					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  					namespace="urn:echo2.wsdl.test" use="encoded" />
  			</wsdl:input>
  			<wsdl:output name="echoArrayOfString_SoapEncArrayResponse">
  				<wsdlsoap:body
  					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  					namespace="urn:echo2.wsdl.test" use="encoded" />
  			</wsdl:output>
  		</wsdl:operation>
  	</wsdl:binding>
  	<wsdl:service name="Echo2Service">
  		<wsdl:port binding="tns:Echo2SoapBinding" name="Echo2">
  			<wsdlsoap:address
  				location="http://localhost:8080/axis/services/Echo2" />
  		</wsdl:port>
  	</wsdl:service>
  </wsdl:definitions>
  
  
  1.1                  ws-axis/java/test/wsdl/echo2/readme.txt
  
  Index: readme.txt
  ===================================================================
  This test checks various kinds of arrays (in RPC mode), including
  maxOccurs="unbounded" style, SOAP arrays, and byte[]<->base64.
  
  TODO : Check the XML coming back from the service to make sure that the
  schema is right (even if we can deserialize it).