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 di...@apache.org on 2005/06/07 20:31:33 UTC

cvs commit: ws-axis/java junit-exclude-tests.txt

dims        2005/06/07 11:31:32

  Modified:    java/test AxisTestBase.java
               java/test/wsdl/filegen build.xml FileGenTestCase.java
               java     junit-exclude-tests.txt
  Added:       java/test AxisFileGenTestBase.java
               java/test/wsdl/query build.xml FileGenWrappedTestCase.java
                        QueryBean.java QueryTest.wsdl
                        QueryTestBindingImpl.java
                        QueryTestServiceTestCase.java
  Log:
  Adding test case from tomj for problem with arrays.
  
  Notes: to repro the error, remove the entry from junit-exclude-tests.txt
  
  Revision  Changes    Path
  1.3       +1 -0      ws-axis/java/test/AxisTestBase.java
  
  Index: AxisTestBase.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/AxisTestBase.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AxisTestBase.java	25 Feb 2004 14:02:53 -0000	1.2
  +++ AxisTestBase.java	7 Jun 2005 18:31:32 -0000	1.3
  @@ -47,4 +47,5 @@
       public static boolean isOnline() {
           return isPropertyTrue("test.functional.online");
       }
  +
   }
  
  
  
  1.1                  ws-axis/java/test/AxisFileGenTestBase.java
  
  Index: AxisFileGenTestBase.java
  ===================================================================
  /*
   * Copyright 2002-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 test;
  
  import org.custommonkey.xmlunit.XMLTestCase;
  
  import java.io.File;
  import java.io.IOException;
  import java.util.Set;
  import java.util.HashSet;
  import java.util.Arrays;
  import java.util.Vector;
  
  /**
   *  base class for Axis FileGen test cases.
   */
  public abstract class AxisFileGenTestBase extends AxisTestBase {
  
      public AxisFileGenTestBase(String s) {
          super(s);
      }
  
      protected String getPrefix(String parent) {
          if (parent == null || parent.length() == 0) {
              return "";
          }
          else {
              return parent + File.separator;
          }
      }
  
      abstract protected Set mayExist();
      abstract protected String rootDir();
      abstract protected Set shouldExist();
  
      /** This method returns a array of String file paths, located within the
       * supplied root directory. The string values are created relative to the
       * specified parent so that the names get returned in the form of
       * "file.java", "dir/file.java", "dir/dir/file.java", etc. This feature
       * asslows the various file specs to include files in sub-directories as
       * well as the root directory.
       */
      protected String[] getPaths(File root, String parent) {
          File files[] = root.listFiles();
          if (files == null)
              fail("Unable to get a list of files from " + root.getPath());
  
          Set filePaths = new HashSet();
          for(int i=0; i<files.length; i++) {
              if (files[i].isDirectory()) {
                  String children[] = getPaths(files[i],
                              getPrefix(parent) + files[i].getName());
                  filePaths.addAll(Arrays.asList(children));
              }
              else {
                  filePaths.add(getPrefix(parent) + files[i].getName());
              }
          }
          String paths[] = new String[filePaths.size()];
          return (String[]) filePaths.toArray(paths);
      }
  
  
      public void testFileGen() throws IOException {
          String rootDir = rootDir();
          Set shouldExist = shouldExist();
          Set mayExist = mayExist();
  
          // open up the output directory and check what files exist.
          File outputDir = new File(rootDir);
  
          String[] files = getPaths(outputDir, null);
  
          Vector shouldNotExist = new Vector();
  
          for (int i = 0; i < files.length; ++i) {
              if (shouldExist.contains(files[i])) {
                  shouldExist.remove(files[i]);
              }
              else if (mayExist.contains(files[i])) {
                  mayExist.remove(files[i]);
              }
              else {
                  shouldNotExist.add(files[i]);
              }
          }
  
          if (shouldExist.size() > 0) {
              fail("The following files should exist in " + rootDir +
                  ", but do not:  " + shouldExist);
          }
  
          if (shouldNotExist.size() > 0) {
              fail("The following files should NOT exist in " + rootDir +
                  ", but do:  " + shouldNotExist);
          }
      }
  }
  
  
  
  1.12      +6 -0      ws-axis/java/test/wsdl/filegen/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/filegen/build.xml,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- build.xml	2 Jun 2004 17:05:18 -0000	1.11
  +++ build.xml	7 Jun 2005 18:31:32 -0000	1.12
  @@ -79,10 +79,16 @@
           <include name="*Impl.java"/>
         </fileset>
       </copy>
  +        <copy todir="${build.dir}/work/test/" overwrite="yes">
  +            <fileset dir="${axis.home}/test/">
  +                <include name="*.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="test/*.java" />
         <include name="test/wsdl/filegen/*.java" />
         <include name="test/wsdl/filegenAll/*.java" />
       </javac>
  
  
  
  1.11      +4 -72     ws-axis/java/test/wsdl/filegen/FileGenTestCase.java
  
  Index: FileGenTestCase.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/filegen/FileGenTestCase.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- FileGenTestCase.java	5 Oct 2004 00:08:21 -0000	1.10
  +++ FileGenTestCase.java	7 Jun 2005 18:31:32 -0000	1.11
  @@ -21,6 +21,8 @@
    */ 
   package test.wsdl.filegen;
   
  +import test.AxisFileGenTestBase;
  +
   import java.io.File;
   import java.io.IOException;
   import java.util.Arrays;
  @@ -29,11 +31,12 @@
   import java.util.Vector;
   
   
  -public class FileGenTestCase extends junit.framework.TestCase {
  +public class FileGenTestCase extends AxisFileGenTestBase {
       public FileGenTestCase(String name) {
           super(name);
       }
   
  +
       /**
        * List of files which should be generated.
        */
  @@ -66,76 +69,5 @@
                   "filegen";
       }
       
  -    protected String getPrefix(String parent) {
  -        if (parent == null || parent.length() == 0) {
  -            return "";
  -        }
  -        else {
  -            return parent + File.separator;
  -        }
  -    }
  -
  -    /** This method returns a array of String file paths, located within the
  -     * supplied root directory. The string values are created relative to the 
  -     * specified parent so that the names get returned in the form of 
  -     * "file.java", "dir/file.java", "dir/dir/file.java", etc. This feature 
  -     * asslows the various file specs to include files in sub-directories as
  -     * well as the root directory.
  -     */    
  -    protected String[] getPaths(File root, String parent) {
  -        File files[] = root.listFiles();
  -        if (files == null)
  -            fail("Unable to get a list of files from " + root.getPath());
  -
  -        Set filePaths = new HashSet();
  -        for(int i=0; i<files.length; i++) {
  -            if (files[i].isDirectory()) {
  -                String children[] = getPaths(files[i],
  -                            getPrefix(parent) + files[i].getName());
  -                filePaths.addAll(Arrays.asList(children));
  -            }
  -            else {
  -                filePaths.add(getPrefix(parent) + files[i].getName());
  -            }
  -        }
  -        String paths[] = new String[filePaths.size()];
  -        return (String[]) filePaths.toArray(paths);
  -    }
  -
  -    
  -    public void testFileGen() throws IOException {
  -        String rootDir = rootDir();
  -        Set shouldExist = shouldExist();
  -        Set mayExist = mayExist();
  -
  -        // open up the output directory and check what files exist.
  -        File outputDir = new File(rootDir);
  -        
  -        String[] files = getPaths(outputDir, null);
  -
  -        Vector shouldNotExist = new Vector();
  -
  -        for (int i = 0; i < files.length; ++i) {
  -            if (shouldExist.contains(files[i])) {
  -                shouldExist.remove(files[i]);
  -            } 
  -            else if (mayExist.contains(files[i])) {
  -                mayExist.remove(files[i]);
  -            }
  -            else {
  -                shouldNotExist.add(files[i]);
  -            }
  -        }
  -
  -        if (shouldExist.size() > 0) {
  -            fail("The following files should exist in " + rootDir + 
  -                ", but do not:  " + shouldExist);
  -        }
  -
  -        if (shouldNotExist.size() > 0) {
  -            fail("The following files should NOT exist in " + rootDir +
  -                ", but do:  " + shouldNotExist);
  -        }
  -    }
   }
   
  
  
  
  1.1                  ws-axis/java/test/wsdl/query/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/query"/>
      &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="compile">
          <echo message="Compiling test.wsdl.query"/>
          <!-- QueryTest Test -->
          <wsdl2java url="${axis.home}/test/wsdl/query/QueryTest.wsdl"
              output="${axis.home}/build/work"
              deployscope="session"
              serverSide="yes"
              skeletonDeploy="no"
              verbose="no"
              testcase="no">
              <mapping namespace="urn:QueryTest" package="test.wsdl.query"/>
              <mapping namespace="http://rpc.xml.coldfusion" package="test.wsdl.query"/>
          </wsdl2java>
  
          <copy todir="${build.dir}/work/test/wsdl/query" overwrite="yes">
              <fileset dir="${axis.home}/test/wsdl/query">
                  <include name="QueryBean.java"/>
                  <include name="*TestCase.java"/>
                  <include name="*Impl.java"/>
              </fileset>
          </copy>
          <copy todir="${build.dir}/work/test/" overwrite="yes">
              <fileset dir="${axis.home}/test/">
                  <include name="*.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="test/*.java" />
              <include name="test/wsdl/query/*.java"/>
          </javac>
  
      </target>
  
      <target name="run">
          <antcall target="execute-Component"/>
      </target>
  
  </project>
  
  
  
  1.1                  ws-axis/java/test/wsdl/query/FileGenWrappedTestCase.java
  
  Index: FileGenWrappedTestCase.java
  ===================================================================
  /*
   * 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 test.wsdl.query;
  
  import test.wsdl.filegen.FileGenTestCase;
  import test.AxisFileGenTestBase;
  
  import java.io.File;
  import java.util.HashSet;
  import java.util.Set;
  
  /**
   * This tests to make sure the wrapper element types for a wrapped
   * document/literal service are not generated by WSDL2Java.
   *
   * @author Tom Jordahl (tomj@macromedia.com)
   */
  public class FileGenWrappedTestCase extends AxisFileGenTestBase {
      public FileGenWrappedTestCase(String name) {
          super(name);
      }
  
      /**
       * List of files which should be generated.
       */
      protected Set shouldExist() {
          HashSet set = new HashSet();
          set.add("QueryBean.java");
          set.add("QueryTest.java");
          set.add("QueryTestBindingImpl.java");
          set.add("QueryTestBindingStub.java");
          set.add("QueryTestService.java");
          set.add("QueryTestServiceLocator.java");
          set.add("QueryTestServiceTestCase.java");
          set.add("FileGenWrappedTestCase.java");
          set.add("deploy.wsdd");
          set.add("undeploy.wsdd");
          return set;
      } // shouldExist
  
      /**
       * List of files which may be generated.
       */
      protected Set mayExist() {
          HashSet set = new HashSet();
          // none
          return set;
      } // shouldExist
  
      /**
       * The directory containing the files that should exist.
       */
      protected String rootDir() {
          return "build" + File.separator + "work" + File.separator +
                  "test" + File.separator + "wsdl" + File.separator +
                  "query";
      } // rootDir
  
  }
  
  
  
  
  1.1                  ws-axis/java/test/wsdl/query/QueryBean.java
  
  Index: QueryBean.java
  ===================================================================
  /*
   * QueryBean object used in ColdFusion MX web services.
   */
  package test.wsdl.query;
  
  import java.io.Serializable;
  
  /**
   * Representation of a ColdFusion qeury object for web services.
   * @author Tom Jordahl (tomj@apache.org)
   */
  public class QueryBean implements Serializable
  {
      public void setColumnList(String[] column_list)
      {
          this.column_list = column_list;
      }
  
      public String[] getColumnList()
      {
          return column_list;
      }
  
      public void setData(Object[][] data)
      {
          this.data = data;
      }
  
      public Object[][] getData()
      {
          return data;
      }
  
      private String[] column_list;
      private Object[][] data;
  
      // Type metadata
      private static org.apache.axis.description.TypeDesc typeDesc =
              new org.apache.axis.description.TypeDesc(QueryBean.class, true);
  
      static
      {
          typeDesc.setXmlType(new javax.xml.namespace.QName("http://rpc.xml.coldfusion/", "QueryBean"));
          org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
          elemField.setFieldName("columnList");
          elemField.setXmlName(new javax.xml.namespace.QName("http://rpc.xml.coldfusion/", "columnList"));
          elemField.setArrayType(org.apache.axis.Constants.XSD_STRING);
          elemField.setJavaType(String[].class);
          elemField.setXmlType(org.apache.axis.Constants.SOAP_ARRAY);
          elemField.setNillable(true);
          typeDesc.addFieldDesc(elemField);
          elemField = new org.apache.axis.description.ElementDesc();
          elemField.setFieldName("data");
          elemField.setXmlName(new javax.xml.namespace.QName("http://rpc.xml.coldfusion/", "data"));
          elemField.setXmlType(org.apache.axis.Constants.SOAP_ARRAY);
          elemField.setJavaType(Object[][].class);
          elemField.setNillable(true);
          typeDesc.addFieldDesc(elemField);
      }
  
      /**
       * Return type metadata object
       */
      public static org.apache.axis.description.TypeDesc getTypeDesc()
      {
          return typeDesc;
      }
  
  }
  
  
  
  1.1                  ws-axis/java/test/wsdl/query/QueryTest.wsdl
  
  Index: QueryTest.wsdl
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <wsdl:definitions targetNamespace="urn:QueryTest"
      xmlns:apachesoap="http://xml.apache.org/xml-soap"
      xmlns:impl="urn:QueryTest"
      xmlns:intf="urn:QueryTest"
      xmlns:tns1="http://rpc.xml.coldfusion"
      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 elementFormDefault="qualified" targetNamespace="urn:QueryTest" xmlns="http://www.w3.org/2001/XMLSchema">
              <import namespace="http://rpc.xml.coldfusion"/>
              <element name="echoQuery">
                  <complexType>
                      <sequence>
                          <element name="argQuery" type="tns1:QueryBean"/>
                      </sequence>
                  </complexType>
              </element>
              <complexType name="ArrayOf_xsd_string">
                  <sequence>
                      <element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:string"/>
                  </sequence>
              </complexType>
              <complexType name="ArrayOf_xsd_anyType">
                  <sequence>
                      <element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:anyType"/>
                  </sequence>
              </complexType>
              <complexType name="ArrayOfArrayOf_xsd_anyType">
                  <sequence>
                      <element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:ArrayOf_xsd_anyType"/>
                  </sequence>
              </complexType>
              <element name="echoQueryResponse">
                  <complexType>
                      <sequence>
                          <element name="echoQueryReturn" type="tns1:QueryBean"/>
                      </sequence>
                  </complexType>
              </element>
              <element name="echoBinary">
                  <complexType>
                      <sequence>
                          <element name="argBinary" type="xsd:base64Binary"/>
                      </sequence>
                  </complexType>
              </element>
              <element name="echoBinaryResponse">
                  <complexType>
                      <sequence>
                          <element name="echoBinaryReturn" type="xsd:base64Binary"/>
                      </sequence>
                  </complexType>
              </element>
              <element name="echoArray">
                  <complexType>
                      <sequence>
                          <element maxOccurs="unbounded" name="argArray" type="xsd:anyType"/>
                      </sequence>
                  </complexType>
              </element>
              <element name="echoArrayResponse">
                  <complexType>
                      <sequence>
                          <element maxOccurs="unbounded" name="echoArrayReturn" type="xsd:anyType"/>
                      </sequence>
                  </complexType>
              </element>
          </schema>
          <schema elementFormDefault="qualified" targetNamespace="http://rpc.xml.coldfusion" xmlns="http://www.w3.org/2001/XMLSchema">
              <import namespace="http://xml.apache.org/xml-soap"/>
              <import namespace="urn:QueryTest"/>
              <complexType name="QueryBean">
                  <sequence>
                      <element name="columnList" nillable="true" type="impl:ArrayOf_xsd_string"/>
                      <element name="data" nillable="true" type="impl:ArrayOfArrayOf_xsd_anyType"/>
                  </sequence>
              </complexType>
          </schema>
      </wsdl:types>
  
      <wsdl:message name="echoQueryRequest">
          <wsdl:part element="impl:echoQuery" name="parameters"/>
      </wsdl:message>
      <wsdl:message name="echoQueryResponse">
          <wsdl:part element="impl:echoQueryResponse" name="parameters"/>
      </wsdl:message>
  
      <wsdl:message name="echoArrayRequest">
          <wsdl:part element="impl:echoArray" name="parameters"/>
      </wsdl:message>
      <wsdl:message name="echoArrayResponse">
          <wsdl:part element="impl:echoArrayResponse" name="parameters"/>
      </wsdl:message>
  
      <wsdl:portType name="QueryTest">
          <wsdl:operation name="echoQuery">
              <wsdl:input message="impl:echoQueryRequest" name="echoQueryRequest"/>
              <wsdl:output message="impl:echoQueryResponse" name="echoQueryResponse"/>
          </wsdl:operation>
  
  <!--
          <wsdl:operation name="echoArray">
              <wsdl:input message="impl:echoArrayRequest" name="echoArrayRequest"/>
              <wsdl:output message="impl:echoArrayResponse" name="echoArrayResponse"/>
          </wsdl:operation>
  -->
  
      </wsdl:portType>
  
      <wsdl:binding name="QueryTestBinding" type="impl:QueryTest">
  
          <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
          <wsdl:operation name="echoQuery">
              <wsdlsoap:operation soapAction=""/>
              <wsdl:input name="echoQueryRequest">
                  <wsdlsoap:body use="literal"/>
              </wsdl:input>
              <wsdl:output name="echoQueryResponse">
                  <wsdlsoap:body use="literal"/>
              </wsdl:output>
          </wsdl:operation>
  
  <!--
          <wsdl:operation name="echoArray">
              <wsdlsoap:operation soapAction=""/>
              <wsdl:input name="echoArrayRequest">
                  <wsdlsoap:body use="literal"/>
              </wsdl:input>
              <wsdl:output name="echoArrayResponse">
                  <wsdlsoap:body use="literal"/>
              </wsdl:output>
          </wsdl:operation>
  -->
  
      </wsdl:binding>
  
      <wsdl:service name="QueryTestService">
          <wsdl:port binding="impl:QueryTestBinding" name="QueryTest">
              <wsdlsoap:address location="http://localhost:8080/axis/services/QueryTest"/>
          </wsdl:port>
      </wsdl:service>
  
  </wsdl:definitions>
  
  
  
  1.1                  ws-axis/java/test/wsdl/query/QueryTestBindingImpl.java
  
  Index: QueryTestBindingImpl.java
  ===================================================================
  /**
   * QueryTestImpl.java
   *
   * This file was auto-generated from WSDL
   * by the Apache Axis 1.2.1 May 31, 2005 (03:10:27 EDT) WSDL2Java emitter.
   */
  
  package test.wsdl.query;
  
  public class QueryTestBindingImpl implements test.wsdl.query.QueryTest {
      public test.wsdl.query.QueryBean echoQuery(test.wsdl.query.QueryBean argQuery) throws java.rmi.RemoteException {
          return argQuery;
      }
  
  /*
      public java.lang.Object[] echoArray(java.lang.Object[] argArray) throws java.rmi.RemoteException {
          return argArray;
      }
  */
  }
  
  
  
  1.1                  ws-axis/java/test/wsdl/query/QueryTestServiceTestCase.java
  
  Index: QueryTestServiceTestCase.java
  ===================================================================
  /**
   * QueryTest_ServiceTestCase.java
   *
   * Test the QueryBean object.
   *
   */
  
  package test.wsdl.query;
  
  public class QueryTestServiceTestCase extends junit.framework.TestCase {
      public QueryTestServiceTestCase(java.lang.String name) {
          super(name);
      }
  
      public void testQueryTestWSDL() throws Exception {
          javax.xml.rpc.ServiceFactory serviceFactory = javax.xml.rpc.ServiceFactory.newInstance();
          java.net.URL url = new java.net.URL(new test.wsdl.query.QueryTestServiceLocator().getQueryTestAddress() + "?WSDL");
          javax.xml.rpc.Service service = serviceFactory.createService(url, new test.wsdl.query.QueryTestServiceLocator().getServiceName());
          assertTrue(service != null);
      }
  
  
      public void test2QueryTestEchoQuery() throws Exception {
          test.wsdl.query.QueryTestBindingStub binding;
          try {
              binding = (test.wsdl.query.QueryTestBindingStub)
                            new test.wsdl.query.QueryTestServiceLocator().getQueryTest();
          }
          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
          test.wsdl.query.QueryBean inQuery = new QueryBean();
          String[] columns = new String[] {"first", "last", "number"};
          Object[][] data = new Object[][] { {new String("Joe"), new String("Blow"), new Integer(3)},
                                             {new String("John"), new String("Doe"), new Integer(2)} };
          inQuery.setColumnList(columns);
          inQuery.setData(data);
  
          QueryBean outQuery = binding.echoQuery(inQuery);
          assertNotNull("return value is null", outQuery);
          String[] outCols = outQuery.getColumnList();
          assertNotNull("column list is null", outCols);
          assertEquals("column value #1 doesn't match", columns[0], outCols[0]);
          assertEquals("column value #2 doesn't match", columns[1], outCols[1]);
          assertEquals("column value #3 doesn't match", columns[2], outCols[2]);
          Object[][] outData = outQuery.getData();
          assertNotNull("data arrayt is null", outData);
          assertEquals("data value 0,0 doesn't match", data[0][0], outData[0][0]);
          assertEquals("data value 0,1 doesn't match", data[0][1], outData[0][1]);
          assertEquals("data value 0,2 doesn't match", data[0][2], outData[0][2]);
          assertEquals("data value 1,0 doesn't match", data[1][0], outData[1][0]);
          assertEquals("data value 1,1 doesn't match", data[1][1], outData[1][1]);
          assertEquals("data value 1,2 doesn't match", data[1][2], outData[1][2]);
      }
  
  /*
      public void test3QueryTestEchoArray() throws Exception {
          test.wsdl.query.QueryTestBindingStub binding;
          try {
              binding = (test.wsdl.query.QueryTestBindingStub)
                            new test.wsdl.query.QueryTestServiceLocator().getQueryTest();
          }
          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.Object[] value = null;
          value = binding.echoArray(new java.lang.Object[0]);
          // TBD - validate results
      }
  */
  
  }
  
  
  
  1.5       +1 -1      ws-axis/java/junit-exclude-tests.txt
  
  Index: junit-exclude-tests.txt
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/junit-exclude-tests.txt,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- junit-exclude-tests.txt	24 Aug 2003 14:55:58 -0000	1.4
  +++ junit-exclude-tests.txt	7 Jun 2005 18:31:32 -0000	1.5
  @@ -2,5 +2,5 @@
   # The test harness ignores the test cases specified below.
   **/test/wsdl/soap12/additional/*.*
   **/test/wsdl/literal/*.*
  -
  +**/test/wsdl/query/QueryTestServiceTestCase.*