axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bu...@apache.org
Subject cvs commit: xml-axis/java/test/wsdl/roundtrip BondInvestment.java CallOptions.java Investment.java PreferredStockInvestment.java Roundtrip.wsdl RoundtripPortType.java RoundtripTestServiceTestCase.java RoundtripTestSoapBindingImpl.java StockInvestment.java
Date Tue, 12 Feb 2002 22:10:19 GMT
butek       02/02/12 14:10:19

  Modified:    java/test/wsdl Wsdl2javaTestSuite.xml
  Added:       java/test/wsdl/roundtrip BondInvestment.java
                        CallOptions.java Investment.java
                        PreferredStockInvestment.java Roundtrip.wsdl
                        RoundtripPortType.java
                        RoundtripTestServiceTestCase.java
                        RoundtripTestSoapBindingImpl.java
                        StockInvestment.java
  Log:
  Roundtrip test case for various types.
  Contributed by Brent Ulbricht (ulbricht@us.ibm.com).  From his note:
  
  I have attached a test primarily to verify a roundtrip between Java2WSDL
  and WSDL2Java for primitives, standard Java classes, nillables, arrays,
  multiple arrays, and JAX-RPC value types.
  
  Revision  Changes    Path
  1.69      +50 -0     xml-axis/java/test/wsdl/Wsdl2javaTestSuite.xml
  
  Index: Wsdl2javaTestSuite.xml
  ===================================================================
  RCS file: /home/cvs/xml-axis/java/test/wsdl/Wsdl2javaTestSuite.xml,v
  retrieving revision 1.68
  retrieving revision 1.69
  diff -u -r1.68 -r1.69
  --- Wsdl2javaTestSuite.xml	6 Feb 2002 21:08:54 -0000	1.68
  +++ Wsdl2javaTestSuite.xml	12 Feb 2002 22:10:19 -0000	1.69
  @@ -101,6 +101,56 @@
           <mapping namespace="urn:ref.types" package="test.wsdl.refattr"/>
       </wsdl2java>
   
  +    <!-- Roundtrip Test -->
  +    <!-- Bootstrap to generate Java From WSDL to get stubs/skeletons -->
  +    <wsdl2java url="test/wsdl/roundtrip/Roundtrip.wsdl"
  +               output="build/work"
  +               deployscope="session"
  +               skeleton="yes"
  +               noimports="no"
  +               verbose="no"
  +               testcase="no">
  +        <mapping namespace="http://roundtrip.wsdl.test" package="test.wsdl.roundtrip"/>
  +    </wsdl2java>
  +    <!-- To test Java Value Types, copy over the base and subclasses -->
  +    <copy todir="${build.dir}/work/test/wsdl/roundtrip" overwrite="yes">
  +      <fileset dir="${test.dir}/wsdl/roundtrip">
  +        <include name="RoundtripPortType.java"/>
  +        <include name="Investment.java"/>
  +        <include name="StockInvestment.java"/>
  +        <include name="BondInvestment.java"/>
  +        <include name="PreferredStockInvestment.java"/>
  +        <include name="CallOptions.java"/>
  +      </fileset>
  +    </copy>
  +    <!-- Compile the Web Service -->
  +    <javac srcdir="${build.dir}/work" destdir="${build.dest}" debug="${debug}">
  +      <classpath refid="test-classpath" />
  +      <include name="test/wsdl/roundtrip/**.java" />
  +      <exclude name="test/wsdl/roundtrip/*TestCase.java" />
  +      <exclude name="test/wsdl/roundtrip/*Impl.java" />
  +    </javac>
  +    <!-- Now create the WSDL file -->
  +    <java2wsdl output="build/work/test/wsdl/roundtrip/Roundtrip.wsdl"
  +               className= "test.wsdl.roundtrip.RoundtripPortType"
  +               useInheritedMethods="false"
  +               namespace="http://roundtrip.wsdl.test"
  +               location="http://localhost:8080/axis/services/RoundtripTest">
  +        <mapping namespace="http://roundtrip.wsdl.test" package="test.wsdl.roundtrip"/>
  +    </java2wsdl>
  +    <!-- Delete the intermediate files so we recreate over a clean slate -->
  +    <delete dir="${build.dir}/classes/test/wsdl/roundtrip"/>
  +    <!-- Recreate Java files from the new WSDL -->
  +    <wsdl2java url="build/work/test/wsdl/roundtrip/Roundtrip.wsdl"
  +               output="build/work"
  +               deployscope="session"
  +               skeleton="yes"
  +               noimports="no"
  +               verbose="no"
  +               testcase="no">
  +        <mapping namespace="http://roundtrip.wsdl.test" package="test.wsdl.roundtrip"/>
  +    </wsdl2java>
  +
       <!-- Sequence Test -->
       <!-- Generate Java From WSDL -->
       <wsdl2java url="test/wsdl/sequence/SequenceTest.wsdl"
  
  
  
  1.1                  xml-axis/java/test/wsdl/roundtrip/BondInvestment.java
  
  Index: BondInvestment.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Axis" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package test.wsdl.roundtrip;
  
  import java.math.BigInteger;
  import java.math.BigDecimal;
  import java.util.Date;
  import test.wsdl.roundtrip.CallOptions;
  
  /**
   * The BondInvestment class contains data members for all the
   * primitives, standard Java classes, and primitive wrapper
   * classes.  This class is used to test that all the data
   * members transmit correctly over the wire.
   *
   * @version   1.00  06 Feb 2002
   * @author    Brent Ulbricht
   */
  public class BondInvestment implements java.io.Serializable {
  
      private boolean taxableInvestment;
      public byte taxIndicator; 
      public short docType;  
      public int stockBeta;
      public long yield;
      public float lastTradePrice;
      public double fiftyTwoWeekHigh;
      private String tradeExchange;
      public BigInteger portfolioType;
      public BigDecimal bondAmount;
      public Date callableDate;
      public byte[] byteArray;
      private short[] shortArray;
      private Boolean wrapperBoolean;
      private Byte wrapperByte;
      private Short wrapperShort;
      public Integer wrapperInteger;
      public Float wrapperFloat;
      private Double wrapperDouble;
      public Byte[] wrapperByteArray;
      public Short[] wrapperShortArray;
      public CallOptions[] options;
  
      public BondInvestment() {
  
      } // Constructor
  
      public void setTaxableInvestment(boolean taxableInvestment) {
          this.taxableInvestment = taxableInvestment;
      } // setTaxableInvestment
  
      public boolean getTaxableInvestment() {
          return this.taxableInvestment;
      } // getTaxableInvestment
      
      public void setTradeExchange(String tradeExchange) {
          this.tradeExchange = tradeExchange; 
      } // setTradeExchange
  
      public String getTradeExchange() {
          return this.tradeExchange;
      } // getTradeExchange
  
      public void setShortArray(short[] shortArray) {
          this.shortArray = shortArray;
      } // getShortArray
  
      public short[] getShortArray() {
          return this.shortArray;
      } // setShortArray
  
      public void setWrapperBoolean(Boolean wrapperBoolean) {
          this.wrapperBoolean = wrapperBoolean;
      } // setWrapperBoolean
  
      public Boolean getWrapperBoolean() {
          return this.wrapperBoolean;
      } // getWrapperBoolean
      
      public void setWrapperByte(Byte wrapperByte) {
          this.wrapperByte = wrapperByte;
      } // setWrapperByte
  
      public Byte getWrapperByte() {
          return this.wrapperByte;
      } // getWrapperByte
      
      public void setWrapperShort(Short wrapperShort) {
          this.wrapperShort = wrapperShort;
      } // setWrapperShort
  
      public Short getWrapperShort() {
          return this.wrapperShort;
      } // getWrapperShort
  
      public void setWrapperDouble(Double wrapperDouble) {
          this.wrapperDouble = wrapperDouble;
      } // setWrapperDouble
  
      public Double getWrapperDouble() {
          return this.wrapperDouble;
      } // getWrapperDouble
  
  } // BondInvestment 
  
  
  
  1.1                  xml-axis/java/test/wsdl/roundtrip/CallOptions.java
  
  Index: CallOptions.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Axis" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package test.wsdl.roundtrip;
  
  import java.util.Date;
  
  /**
   * The CallOptions class is just a class to determine how
   * Java2WSDL will generate WSDL for user defined classes.
   *
   * @version   1.00  06 Feb 2002
   * @author    Brent Ulbricht
   */
  public class CallOptions {
  
      private double callPrice = 103.30;
      public Date callDate;
  
      public static void main(String[] args) {
  
      } // main
  
  } // CallOptions
  
  
  
  1.1                  xml-axis/java/test/wsdl/roundtrip/Investment.java
  
  Index: Investment.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Axis" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package test.wsdl.roundtrip;
  
  /**
   * The Investment class is the base class for other
   * types of investment classes.  The main purpose of this
   * class is to insure that when other classes subclass
   * that the data members in Investment can be accessed
   * and transmit correctly across the wire.
   *
   * @version   1.00  06 Feb 2002
   * @author    Brent Ulbricht
   */
  public class Investment implements java.io.Serializable {
  
      public String name;
      private int id;
      private double avgYearlyReturn;
  
      public Investment() {
  
      } // Constructor
  
      public int getId() {
          return id;
      } // getId
  
      public void setId(int id) {
          this.id = id;
      } // setId
  
      public float calcAvgYearlyReturn() {
          return 0.0F;
      } // calcAvgYearlyReturn
  
  } // End class Investment
  
  
  
  1.1                  xml-axis/java/test/wsdl/roundtrip/PreferredStockInvestment.java
  
  Index: PreferredStockInvestment.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Axis" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package test.wsdl.roundtrip;
  
  import test.wsdl.roundtrip.StockInvestment;
  import java.math.BigDecimal;
  
  /**
   * The PreferredStockInvestment class extends the StockInvestment
   * class so that we can verify that the Java2WSDL tool correctly
   * creates WSDL to allow data members in StockInvestment and Investment
   * to be accessed. 
   *
   * @version   1.00  06 Feb 2002
   * @author    Brent Ulbricht
   */
  public class PreferredStockInvestment extends StockInvestment implements java.io.Serializable {
  
      public BigDecimal preferredYield;
      private double dividendsInArrears;
  
      public PreferredStockInvestment() {
  
      } // Constructor
  
      public void setDividendsInArrears(double dividendsInArrears) {
          this.dividendsInArrears = dividendsInArrears; 
      } // setDividendsInArrears
  
      public double getDividendsInArrears() {
          return this.dividendsInArrears;
      } // getDividendsInArrears
  
  } // PreferredStockInvestment 
  
  
  
  1.1                  xml-axis/java/test/wsdl/roundtrip/Roundtrip.wsdl
  
  Index: Roundtrip.wsdl
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <wsdl:definitions targetNamespace="http://roundtrip.wsdl.test" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:impl="http://roundtrip.wsdl.test-impl" xmlns:intf="http://roundtrip.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">
   <types>
    <schema targetNamespace="http://roundtrip.wsdl.test" xmlns="http://www.w3.org/2001/XMLSchema">
     <complexType name="CallOptions">
      <all>
       <element name="callDate" nillable="true" type="xsd:dateTime"/>
      </all>
     </complexType>
     <complexType name="ArrayOfCallOptions">
      <complexContent>
       <restriction base="SOAP-ENC:Array">
        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="intf:CallOptions[]"/>
       </restriction>
      </complexContent>
     </complexType>
     <element name="ArrayOfCallOptions" nillable="true" type="intf:ArrayOfCallOptions"/>
     <complexType name="PreferredStockInvestment">
      <complexContent>
       <extension base="intf:StockInvestment">
        <all>
         <element name="dividendsInArrears" type="xsd:double"/>
         <element name="preferredYield" nillable="true" type="xsd:decimal"/>
        </all>
       </extension>
      </complexContent>
     </complexType>
     <complexType name="StockInvestment">
      <complexContent>
       <extension base="intf:Investment">
        <all>
         <element name="tradeExchange" nillable="true" type="xsd:string"/>
         <element name="lastTradePrice" type="xsd:float"/>
        </all>
       </extension>
      </complexContent>
     </complexType>
     <complexType name="Investment">
      <all>
       <element name="id" type="xsd:int"/>
       <element name="name" nillable="true" type="xsd:string"/>
      </all>
     </complexType>
     <element name="PreferredStockInvestment" nillable="true" type="intf:PreferredStockInvestment"/>
     <element name="StockInvestment" nillable="true" type="intf:StockInvestment"/>
     <complexType name="BondInvestment">
      <all>
       <element name="options" nillable="true" type="intf:ArrayOfCallOptions"/>
       <element name="wrapperShortArray" nillable="true" type="intf:ArrayOf_SOAP-ENC_short"/>
       <element name="wrapperByteArray" nillable="true" type="SOAP-ENC:base64"/>
       <element name="wrapperDouble" nillable="true" type="SOAP-ENC:double"/>
       <element name="wrapperFloat" nillable="true" type="SOAP-ENC:float"/>
       <element name="wrapperInteger" nillable="true" type="SOAP-ENC:int"/>
       <element name="wrapperShort" nillable="true" type="SOAP-ENC:short"/>
       <element name="wrapperByte" nillable="true" type="SOAP-ENC:byte"/>
       <element name="wrapperBoolean" nillable="true" type="SOAP-ENC:boolean"/>
       <element name="shortArray" nillable="true" type="intf:ArrayOf_xsd_short"/>
       <element name="byteArray" type="xsd:base64Binary"/>
       <element name="callableDate" nillable="true" type="xsd:dateTime"/>
       <element name="bondAmount" nillable="true" type="xsd:decimal"/>
       <element name="portfolioType" nillable="true" type="xsd:integer"/>
       <element name="tradeExchange" nillable="true" type="xsd:string"/>
       <element name="fiftyTwoWeekHigh" type="xsd:double"/>
       <element name="lastTradePrice" type="xsd:float"/>
       <element name="yield" type="xsd:long"/>
       <element name="stockBeta" type="xsd:int"/>
       <element name="docType" type="xsd:short"/>
       <element name="taxIndicator" type="xsd:byte"/>
      </all>
     </complexType>
     <complexType name="ArrayOf_SOAP-ENC_short">
      <complexContent>
       <restriction base="SOAP-ENC:Array">
        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="SOAP-ENC:short[]"/>
       </restriction>
      </complexContent>
     </complexType>
     <complexType name="ArrayOf_xsd_short">
      <complexContent>
       <restriction base="SOAP-ENC:Array">
        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:short[]"/>
       </restriction>
      </complexContent>
     </complexType>
     <element name="BondInvestment" nillable="true" type="intf:BondInvestment"/>
     <complexType name="ArrayOf_SOAP-ENC_string">
      <complexContent>
       <restriction base="SOAP-ENC:Array">
        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:string[]"/>
       </restriction>
      </complexContent>
     </complexType>
     <complexType name="ArrayOfArrayOf_SOAP-ENC_string">
      <complexContent>
       <restriction base="SOAP-ENC:Array">
        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="intf:ArrayOf_SOAP-ENC_string[]"/>
       </restriction>
      </complexContent>
     </complexType>
     <element name="ArrayOfArrayOf_SOAP-ENC_string" nillable="true" type="intf:ArrayOfArrayOf_SOAP-ENC_string"/>
     <complexType name="ArrayOf_xsd_int">
      <complexContent>
       <restriction base="SOAP-ENC:Array">
        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="xsd:int[]"/>
       </restriction>
      </complexContent>
     </complexType>
     <element name="ArrayOf_xsd_int" nillable="true" type="intf:ArrayOf_xsd_int"/>
    </schema>
    <schema targetNamespace="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema">
     <element name="dateTime" nillable="true" type="xsd:dateTime"/>
    </schema>
   </types>
  
     <wsdl:message name="methodCallOptionsResponse">
  
        <wsdl:part name="return" type="intf:ArrayOfCallOptions"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapLongRequest">
  
        <wsdl:part name="in0" type="SOAP-ENC:long"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodBondInvestmentOutResponse">
  
        <wsdl:part name="return" type="intf:BondInvestment"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodBooleanResponse">
  
        <wsdl:part name="return" type="xsd:boolean"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodBondInvestmentOutRequest">
  
     </wsdl:message>
  
     <wsdl:message name="methodStringMArrayInResponse">
  
     </wsdl:message>
  
     <wsdl:message name="methodIntArrayOutResponse">
  
        <wsdl:part name="return" type="intf:ArrayOf_xsd_int"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodCallOptionsRequest">
  
        <wsdl:part name="in0" type="intf:ArrayOfCallOptions"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapFloatResponse">
  
        <wsdl:part name="return" type="SOAP-ENC:float"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodBondInvestmentInOutResponse">
  
        <wsdl:part name="return" type="intf:BondInvestment"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapFloatRequest">
  
        <wsdl:part name="in0" type="SOAP-ENC:float"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodBondInvestmentInResponse">
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapDoubleRequest">
  
        <wsdl:part name="in0" type="SOAP-ENC:double"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodIntArrayInOutRequest">
  
        <wsdl:part name="in0" type="intf:ArrayOf_xsd_int"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodIntArrayOutRequest">
  
     </wsdl:message>
  
     <wsdl:message name="methodBigIntegerRequest">
  
        <wsdl:part name="in0" type="SOAP-ENC:integer"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapBooleanResponse">
  
        <wsdl:part name="return" type="SOAP-ENC:boolean"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodIntArrayInRequest">
  
        <wsdl:part name="in0" type="intf:ArrayOf_xsd_int"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodBigDecimalResponse">
  
        <wsdl:part name="return" type="SOAP-ENC:decimal"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodAllTypesInRequest">
  
        <wsdl:part name="in0" type="SOAP-ENC:string"/>
  
        <wsdl:part name="in1" type="SOAP-ENC:integer"/>
  
        <wsdl:part name="in2" type="SOAP-ENC:decimal"/>
  
        <wsdl:part name="in3" type="xsd:dateTime"/>
  
        <wsdl:part name="in4" type="xsd:boolean"/>
  
        <wsdl:part name="in5" type="xsd:byte"/>
  
        <wsdl:part name="in6" type="xsd:short"/>
  
        <wsdl:part name="in7" type="xsd:int"/>
  
        <wsdl:part name="in8" type="xsd:long"/>
  
        <wsdl:part name="in9" type="xsd:float"/>
  
        <wsdl:part name="in10" type="xsd:double"/>
  
        <wsdl:part name="in11" type="xsd:base64Binary"/>
  
        <wsdl:part name="in12" type="SOAP-ENC:boolean"/>
  
        <wsdl:part name="in13" type="SOAP-ENC:byte"/>
  
        <wsdl:part name="in14" type="SOAP-ENC:short"/>
  
        <wsdl:part name="in15" type="SOAP-ENC:int"/>
  
        <wsdl:part name="in16" type="SOAP-ENC:long"/>
  
        <wsdl:part name="in17" type="SOAP-ENC:float"/>
  
        <wsdl:part name="in18" type="SOAP-ENC:double"/>
  
        <wsdl:part name="in19" type="SOAP-ENC:base64"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapBooleanRequest">
  
        <wsdl:part name="in0" type="SOAP-ENC:boolean"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodBondInvestmentInOutRequest">
  
        <wsdl:part name="in0" type="intf:BondInvestment"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapShortResponse">
  
        <wsdl:part name="return" type="SOAP-ENC:short"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodStringMArrayInOutResponse">
  
        <wsdl:part name="return" type="intf:ArrayOfArrayOf_SOAP-ENC_string"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodBooleanRequest">
  
        <wsdl:part name="in0" type="xsd:boolean"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodIntResponse">
  
        <wsdl:part name="return" type="xsd:int"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodIntRequest">
  
        <wsdl:part name="in0" type="xsd:int"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodIntArrayInOutResponse">
  
        <wsdl:part name="return" type="intf:ArrayOf_xsd_int"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodByteRequest">
  
        <wsdl:part name="in0" type="xsd:byte"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapLongResponse">
  
        <wsdl:part name="return" type="SOAP-ENC:long"/>
  
     </wsdl:message>
  
     <wsdl:message name="getRealtimeLastTradePriceResponse">
  
        <wsdl:part name="return" type="xsd:float"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodStringMArrayOutRequest">
  
     </wsdl:message>
  
     <wsdl:message name="methodLongRequest">
  
        <wsdl:part name="in0" type="xsd:long"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodStringRequest">
  
        <wsdl:part name="in0" type="SOAP-ENC:string"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodDateTimeRequest">
  
        <wsdl:part name="in0" type="xsd:dateTime"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodByteArrayRequest">
  
        <wsdl:part name="in0" type="xsd:base64Binary"/>
  
     </wsdl:message>
  
     <wsdl:message name="getRealtimeLastTradePriceRequest">
  
        <wsdl:part name="in0" type="intf:StockInvestment"/>
  
     </wsdl:message>
  
     <wsdl:message name="getDividendsResponse">
  
        <wsdl:part name="return" type="intf:PreferredStockInvestment"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapByteResponse">
  
        <wsdl:part name="return" type="SOAP-ENC:byte"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodBigDecimalRequest">
  
        <wsdl:part name="in0" type="SOAP-ENC:decimal"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapByteArrayRequest">
  
        <wsdl:part name="in0" type="SOAP-ENC:base64"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapByteArrayResponse">
  
        <wsdl:part name="return" type="SOAP-ENC:base64"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodShortRequest">
  
        <wsdl:part name="in0" type="xsd:short"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodIntArrayInResponse">
  
     </wsdl:message>
  
     <wsdl:message name="methodFloatRequest">
  
        <wsdl:part name="in0" type="xsd:float"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapDoubleResponse">
  
        <wsdl:part name="return" type="SOAP-ENC:double"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodStringMArrayInRequest">
  
        <wsdl:part name="in0" type="intf:ArrayOfArrayOf_SOAP-ENC_string"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodLongResponse">
  
        <wsdl:part name="return" type="xsd:long"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapIntRequest">
  
        <wsdl:part name="in0" type="SOAP-ENC:int"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapByteRequest">
  
        <wsdl:part name="in0" type="SOAP-ENC:byte"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodStringMArrayOutResponse">
  
        <wsdl:part name="return" type="intf:ArrayOfArrayOf_SOAP-ENC_string"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodShortResponse">
  
        <wsdl:part name="return" type="xsd:short"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodStringResponse">
  
        <wsdl:part name="return" type="SOAP-ENC:string"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodAllTypesInResponse">
  
     </wsdl:message>
  
     <wsdl:message name="methodDoubleRequest">
  
        <wsdl:part name="in0" type="xsd:double"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodByteResponse">
  
        <wsdl:part name="return" type="xsd:byte"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodFloatResponse">
  
        <wsdl:part name="return" type="xsd:float"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapIntResponse">
  
        <wsdl:part name="return" type="SOAP-ENC:int"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodByteArrayResponse">
  
        <wsdl:part name="return" type="xsd:base64Binary"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodBigIntegerResponse">
  
        <wsdl:part name="return" type="SOAP-ENC:integer"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodDoubleResponse">
  
        <wsdl:part name="return" type="xsd:double"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodStringMArrayInOutRequest">
  
        <wsdl:part name="in0" type="intf:ArrayOfArrayOf_SOAP-ENC_string"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodBondInvestmentInRequest">
  
        <wsdl:part name="in0" type="intf:BondInvestment"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodDateTimeResponse">
  
        <wsdl:part name="return" type="xsd:dateTime"/>
  
     </wsdl:message>
  
     <wsdl:message name="getDividendsRequest">
  
        <wsdl:part name="in0" type="intf:PreferredStockInvestment"/>
  
     </wsdl:message>
  
     <wsdl:message name="methodSoapShortRequest">
  
        <wsdl:part name="in0" type="SOAP-ENC:short"/>
  
     </wsdl:message>
  
     <wsdl:portType name="RoundtripPortType">
  
        <wsdl:operation name="methodSoapLong" parameterOrder="in0">
  
           <wsdl:input message="intf:methodSoapLongRequest"/>
  
           <wsdl:output message="intf:methodSoapLongResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodSoapInt" parameterOrder="in0">
  
           <wsdl:input message="intf:methodSoapIntRequest"/>
  
           <wsdl:output message="intf:methodSoapIntResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodSoapShort" parameterOrder="in0">
  
           <wsdl:input message="intf:methodSoapShortRequest"/>
  
           <wsdl:output message="intf:methodSoapShortResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodSoapByte" parameterOrder="in0">
  
           <wsdl:input message="intf:methodSoapByteRequest"/>
  
           <wsdl:output message="intf:methodSoapByteResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodSoapBoolean" parameterOrder="in0">
  
           <wsdl:input message="intf:methodSoapBooleanRequest"/>
  
           <wsdl:output message="intf:methodSoapBooleanResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodSoapDouble" parameterOrder="in0">
  
           <wsdl:input message="intf:methodSoapDoubleRequest"/>
  
           <wsdl:output message="intf:methodSoapDoubleResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodSoapFloat" parameterOrder="in0">
  
           <wsdl:input message="intf:methodSoapFloatRequest"/>
  
           <wsdl:output message="intf:methodSoapFloatResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodCallOptions" parameterOrder="in0">
  
           <wsdl:input message="intf:methodCallOptionsRequest"/>
  
           <wsdl:output message="intf:methodCallOptionsResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="getDividends" parameterOrder="in0">
  
           <wsdl:input message="intf:getDividendsRequest"/>
  
           <wsdl:output message="intf:getDividendsResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="getRealtimeLastTradePrice" parameterOrder="in0">
  
           <wsdl:input message="intf:getRealtimeLastTradePriceRequest"/>
  
           <wsdl:output message="intf:getRealtimeLastTradePriceResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodBondInvestmentInOut" parameterOrder="in0">
  
           <wsdl:input message="intf:methodBondInvestmentInOutRequest"/>
  
           <wsdl:output message="intf:methodBondInvestmentInOutResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodBondInvestmentOut">
  
           <wsdl:input message="intf:methodBondInvestmentOutRequest"/>
  
           <wsdl:output message="intf:methodBondInvestmentOutResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodBondInvestmentIn" parameterOrder="in0">
  
           <wsdl:input message="intf:methodBondInvestmentInRequest"/>
  
           <wsdl:output message="intf:methodBondInvestmentInResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodStringMArrayOut">
  
           <wsdl:input message="intf:methodStringMArrayOutRequest"/>
  
           <wsdl:output message="intf:methodStringMArrayOutResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodStringMArrayIn" parameterOrder="in0">
  
           <wsdl:input message="intf:methodStringMArrayInRequest"/>
  
           <wsdl:output message="intf:methodStringMArrayInResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodStringMArrayInOut" parameterOrder="in0">
  
           <wsdl:input message="intf:methodStringMArrayInOutRequest"/>
  
           <wsdl:output message="intf:methodStringMArrayInOutResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodIntArrayOut">
  
           <wsdl:input message="intf:methodIntArrayOutRequest"/>
  
           <wsdl:output message="intf:methodIntArrayOutResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodIntArrayIn" parameterOrder="in0">
  
           <wsdl:input message="intf:methodIntArrayInRequest"/>
  
           <wsdl:output message="intf:methodIntArrayInResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodIntArrayInOut" parameterOrder="in0">
  
           <wsdl:input message="intf:methodIntArrayInOutRequest"/>
  
           <wsdl:output message="intf:methodIntArrayInOutResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodAllTypesIn" parameterOrder="in0 in1 in2 in3 in4 in5 in6 in7 in8 in9 in10 in11 in12 in13 in14 in15 in16 in17 in18 in19">
  
           <wsdl:input message="intf:methodAllTypesInRequest"/>
  
           <wsdl:output message="intf:methodAllTypesInResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodSoapByteArray" parameterOrder="in0">
  
           <wsdl:input message="intf:methodSoapByteArrayRequest"/>
  
           <wsdl:output message="intf:methodSoapByteArrayResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodByteArray" parameterOrder="in0">
  
           <wsdl:input message="intf:methodByteArrayRequest"/>
  
           <wsdl:output message="intf:methodByteArrayResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodDateTime" parameterOrder="in0">
  
           <wsdl:input message="intf:methodDateTimeRequest"/>
  
           <wsdl:output message="intf:methodDateTimeResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodBigDecimal" parameterOrder="in0">
  
           <wsdl:input message="intf:methodBigDecimalRequest"/>
  
           <wsdl:output message="intf:methodBigDecimalResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodBigInteger" parameterOrder="in0">
  
           <wsdl:input message="intf:methodBigIntegerRequest"/>
  
           <wsdl:output message="intf:methodBigIntegerResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodString" parameterOrder="in0">
  
           <wsdl:input message="intf:methodStringRequest"/>
  
           <wsdl:output message="intf:methodStringResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodDouble" parameterOrder="in0">
  
           <wsdl:input message="intf:methodDoubleRequest"/>
  
           <wsdl:output message="intf:methodDoubleResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodFloat" parameterOrder="in0">
  
           <wsdl:input message="intf:methodFloatRequest"/>
  
           <wsdl:output message="intf:methodFloatResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodLong" parameterOrder="in0">
  
           <wsdl:input message="intf:methodLongRequest"/>
  
           <wsdl:output message="intf:methodLongResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodInt" parameterOrder="in0">
  
           <wsdl:input message="intf:methodIntRequest"/>
  
           <wsdl:output message="intf:methodIntResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodShort" parameterOrder="in0">
  
           <wsdl:input message="intf:methodShortRequest"/>
  
           <wsdl:output message="intf:methodShortResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodByte" parameterOrder="in0">
  
           <wsdl:input message="intf:methodByteRequest"/>
  
           <wsdl:output message="intf:methodByteResponse"/>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodBoolean" parameterOrder="in0">
  
           <wsdl:input message="intf:methodBooleanRequest"/>
  
           <wsdl:output message="intf:methodBooleanResponse"/>
  
        </wsdl:operation>
  
     </wsdl:portType>
  
     <wsdl:binding name="RoundtripTestSoapBinding" type="intf:RoundtripPortType">
  
        <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
  
        <wsdl:operation name="methodSoapLong">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodSoapInt">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodSoapShort">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodSoapByte">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodSoapBoolean">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodSoapDouble">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodSoapFloat">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodCallOptions">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="getDividends">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="getRealtimeLastTradePrice">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodBondInvestmentInOut">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodBondInvestmentOut">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodBondInvestmentIn">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodStringMArrayOut">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodStringMArrayIn">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodStringMArrayInOut">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodIntArrayOut">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodIntArrayIn">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodIntArrayInOut">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodAllTypesIn">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodSoapByteArray">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodByteArray">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodDateTime">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodBigDecimal">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodBigInteger">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodString">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodDouble">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodFloat">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodLong">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodInt">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodShort">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodByte">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
        <wsdl:operation name="methodBoolean">
  
           <wsdlsoap:operation soapAction="" style="rpc"/>
  
           <wsdl:input>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:input>
  
           <wsdl:output>
  
              <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://roundtrip.wsdl.test" use="encoded"/>
  
           </wsdl:output>
  
        </wsdl:operation>
  
     </wsdl:binding>
  
     <wsdl:service name="RoundtripTest">
  
        <wsdl:port binding="intf:RoundtripTestSoapBinding" name="RoundtripTest">
  
           <wsdlsoap:address location="http://localhost:8080/axis/services/RoundtripTest"/>
  
        </wsdl:port>
  
     </wsdl:service>
  
  </wsdl:definitions>
  
  
  
  1.1                  xml-axis/java/test/wsdl/roundtrip/RoundtripPortType.java
  
  Index: RoundtripPortType.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Axis" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package test.wsdl.roundtrip;
  
  import test.wsdl.roundtrip.Investment;
  import test.wsdl.roundtrip.BondInvestment;
  import test.wsdl.roundtrip.StockInvestment;
  import test.wsdl.roundtrip.PreferredStockInvestment;
  import test.wsdl.roundtrip.CallOptions;
  
  /**
   * The RoundtripPortType interface defines the methods necessary when
   * when implementing this interface.  
   *
   * @version   1.00  06 Feb 2002
   * @author    Brent Ulbricht
   */
  public interface RoundtripPortType {
  
      public boolean methodBoolean(boolean inBoolean)
          throws java.rmi.RemoteException;
      public byte methodByte(byte inByte)
          throws java.rmi.RemoteException;
      public short methodShort(short inShort)
          throws java.rmi.RemoteException;
      public int methodInt(int inInt)
          throws java.rmi.RemoteException;
      public long methodLong(long inLong)
          throws java.rmi.RemoteException;
      public float methodFloat(float inFloat)
          throws java.rmi.RemoteException;
      public double methodDouble(double inDouble)
          throws java.rmi.RemoteException;
      public java.lang.String methodString(java.lang.String inString)
          throws java.rmi.RemoteException;
      public java.math.BigInteger methodBigInteger(java.math.BigInteger inInteger)
          throws java.rmi.RemoteException;
      public java.math.BigDecimal methodBigDecimal(java.math.BigDecimal inDecimal)
          throws java.rmi.RemoteException;
      public java.util.Date methodDateTime(java.util.Date inDateTime)
          throws java.rmi.RemoteException;
      public byte[] methodByteArray(byte[] inByteArray)
          throws java.rmi.RemoteException;
      public Byte[] methodSoapByteArray(Byte[] inSoapByteArray)
          throws java.rmi.RemoteException;
      public void methodAllTypesIn(java.lang.String string,
                                   java.math.BigInteger integer,
                                   java.math.BigDecimal decimal,
                                   java.util.Date dateTime,
                                   boolean _boolean,
                                   byte _byte,
                                   short _short,
                                   int _int,
                                   long _long,
                                   float _float,
                                   double _double,
                                   byte[] base64Binary,
                                   java.lang.Boolean soapBoolean,
                                   java.lang.Byte soapByte,
                                   java.lang.Short soapShort,
                                   java.lang.Integer soapInt,
                                   java.lang.Long soapLong,
                                   java.lang.Float soapFloat,
                                   java.lang.Double soapDouble,
                                   java.lang.Byte[] soapBase64)
          throws java.rmi.RemoteException;
      public int[] methodIntArrayInOut(int[] inIntArray)
          throws java.rmi.RemoteException;
      public void methodIntArrayIn(int[] inIntArray)
          throws java.rmi.RemoteException;
      public int[] methodIntArrayOut()
          throws java.rmi.RemoteException;
      public String[][] methodStringMArrayInOut(String[][] inStringArray)
          throws java.rmi.RemoteException;
      public void methodStringMArrayIn(String[][] inStringArray)
          throws java.rmi.RemoteException;
      public String[][] methodStringMArrayOut()
          throws java.rmi.RemoteException;
      public void methodBondInvestmentIn(BondInvestment bondInvestment)
          throws java.rmi.RemoteException;
      public BondInvestment methodBondInvestmentOut()
          throws java.rmi.RemoteException;
      public BondInvestment methodBondInvestmentInOut(BondInvestment bondInvestment)
          throws java.rmi.RemoteException;
      public float getRealtimeLastTradePrice(StockInvestment stockInvestment)
          throws java.rmi.RemoteException;
      public PreferredStockInvestment getDividends(PreferredStockInvestment preferredStock)
          throws java.rmi.RemoteException;
      public CallOptions[] methodCallOptions(CallOptions[] callOptions)
          throws java.rmi.RemoteException;
      public java.lang.Float methodSoapFloat(java.lang.Float inSoapFloat)
          throws java.rmi.RemoteException;
      public java.lang.Double methodSoapDouble(java.lang.Double inSoapDouble)
          throws java.rmi.RemoteException;
      public java.lang.Boolean methodSoapBoolean(java.lang.Boolean inSoapBoolean)
          throws java.rmi.RemoteException;
      public java.lang.Byte methodSoapByte(java.lang.Byte inSoapByte)
          throws java.rmi.RemoteException;
      public java.lang.Short methodSoapShort(java.lang.Short inSoapShort)
          throws java.rmi.RemoteException;
      public java.lang.Integer methodSoapInt(java.lang.Integer inSoapInt)
          throws java.rmi.RemoteException;
      public java.lang.Long methodSoapLong(java.lang.Long inSoapLong)
          throws java.rmi.RemoteException;
  
  } // RoundtripPortType
  
  
  
  
  1.1                  xml-axis/java/test/wsdl/roundtrip/RoundtripTestServiceTestCase.java
  
  Index: RoundtripTestServiceTestCase.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Axis" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package test.wsdl.roundtrip;
  
  
  import java.util.Date;
  
  import java.math.BigInteger;
  import java.math.BigDecimal;
  
  import junit.framework.TestCase;
  
  import java.rmi.RemoteException;
  
  import javax.xml.rpc.ServiceException;
  
  import test.wsdl.roundtrip.Investment;
  import test.wsdl.roundtrip.BondInvestment;
  import test.wsdl.roundtrip.StockInvestment;
  import test.wsdl.roundtrip.PreferredStockInvestment;
  import test.wsdl.roundtrip.RoundtripPortType;
  import test.wsdl.roundtrip.RoundtripTestLocator;
  import test.wsdl.roundtrip.CallOptions;
  
  /**
   * This class contains the test methods to verify that Java mapping
   * to XML/WSDL works as specified by the JAX-RPC specification.
   *
   * The following items are tested:
   * - Primitives
   * - Standard Java Classes
   * - Arrays
   * - Multiple Arrays
   * - JAX-RPC Value Types
   * - Nillables (when used with literal element declarations) 
   *
   * @version   1.00  06 Feb 2002
   * @author    Brent Ulbricht
   */
  public class RoundtripTestServiceTestCase extends TestCase {
  
      private RoundtripPortType binding = null;
      private static final double DOUBLE_DELTA = 0.0D;
      private static final float FLOAT_DELTA = 0.0F;
  
      /**
       *  The Junit framework requires that each class that subclasses
       *  TestCase define a constructor accepting a string.  This method
       *  can be used to specify a specific testXXXXX method in this
       *  class to run.
       */
      public RoundtripTestServiceTestCase(String name) {
          super(name);
      } // Constructor
  
      /**
       *  The setUp method executes before each test method in this class
       *  to get the binding.
       */
      public void setUp() {
  
          try {
              binding = new RoundtripTestLocator().getRoundtripTest();
          } catch (ServiceException jre) {
              fail("JAX-RPC ServiceException caught: " + jre);
          }
          assertTrue("binding is null", binding != null);
  
      } // setUp
  
      /**
       *  Test to insure that a JAX-RPC Value Type works correctly.  StockInvestment
       *  subclasses Investment and should pass data members in both the Investment 
       *  and StockInvestment classes across the wire correctly.
       */
      public void testStockInvestment() {
  
          try {
              StockInvestment stock = new StockInvestment();
              stock.setName("International Business Machines");
              stock.setId(1);
              stock.setTradeExchange("NYSE");
              stock.setLastTradePrice(200.55F);
              float lastTradePrice = binding.getRealtimeLastTradePrice(stock);
              assertEquals("The expected and actual values did not match.",
                           201.25F,
                           lastTradePrice,
                           FLOAT_DELTA);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testStockInvestment
  
  
      /**
       *  Test to insure that a JAX-RPC Value Type works correctly.  PreferredStockInvestment
       *  subclasses StockInvestment and should pass data members in both the Investment, 
       *  StockInvestment, and PreferredStockInvestment classes across the wire correctly.
       */
      public void testPreferredStockInvestment() {
          
          try {
              PreferredStockInvestment oldStock = new PreferredStockInvestment();
              oldStock.setName("SOAP Inc.");
              oldStock.setId(202);
              oldStock.setTradeExchange("NASDAQ");
              oldStock.setLastTradePrice(10.50F);
              oldStock.setDividendsInArrears(100.44D);
              oldStock.setPreferredYield(new BigDecimal("7.00"));
              PreferredStockInvestment newStock = binding.getDividends(oldStock);
              assertEquals("The expected and actual values did not match.",
                           newStock.getName(),
                           "AXIS Inc.");
              assertEquals("The expected and actual values did not match.",
                           203,
                           newStock.getId());
              assertEquals("The expected and actual values did not match.",
                           "NASDAQ",
                           newStock.getTradeExchange());
              assertEquals("The expected and actual values did not match.",
                           101.44D,
                           newStock.getDividendsInArrears(),
                           DOUBLE_DELTA);
              assertEquals("The expected and actual values did not match.",
                           new BigDecimal("8.00"),
                           newStock.getPreferredYield());
              assertEquals("The expected and actual values did not match.",
                           11.50F,
                           newStock.getLastTradePrice(),
                           FLOAT_DELTA);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testPreferredStockInvestment
  
      /**
       *  The BondInvestment class contains all the supported data members:
       *  primitives, standard Java classes, arrays, and primitive wrapper
       *  classes.  This test insures that the data is transmitted across
       *  the wire correctly.
       */
      public void testRoundtripBondInvestment() {
          
          try {
  
              CallOptions[] callOptions = new CallOptions[2];
              callOptions[0] = new CallOptions(new Date(1013441507388L));
              callOptions[1] = new CallOptions(new Date(1013441507390L));
              short[] shortArray = {(short) 30};
              byte[] byteArray = {(byte) 1};
              Short[] wrapperShortArray = {new Short((short) 23), new Short((short) 56)};
              Byte[] wrapperByteArray = {new Byte((byte) 2), new Byte((byte) 15)};
  
              BondInvestment sendValue = new BondInvestment();
  
              sendValue.setOptions(callOptions);
              sendValue.setWrapperShortArray(wrapperShortArray);
              sendValue.setWrapperByteArray(wrapperByteArray);
              sendValue.setWrapperDouble(new Double(2323.232D));
              sendValue.setWrapperFloat(new Float(23.023F));
              sendValue.setWrapperInteger(new Integer(2093));
              sendValue.setWrapperShort(new Short((short) 203));
              sendValue.setWrapperByte(new Byte((byte) 20));
              sendValue.setWrapperBoolean(new Boolean(true));
              sendValue.setShortArray(shortArray);
              sendValue.setByteArray(byteArray);
              sendValue.setCallableDate(new Date(1012937861996L));
              sendValue.setBondAmount(new BigDecimal("2675.23"));
              sendValue.setPortfolioType(new BigInteger("2093"));
              sendValue.setTradeExchange("NYSE");
              sendValue.setFiftyTwoWeekHigh(45.012D);
              sendValue.setLastTradePrice(87895.32F);
              sendValue.setYield(5475L);
              sendValue.setStockBeta(32);
              sendValue.setDocType((short) 35);
              sendValue.setTaxIndicator((byte) 3);
  
              BondInvestment actual = binding.methodBondInvestmentInOut(sendValue);
  
              assertEquals("The expected and actual values did not match.",
                           new Date(1013441507308L),
                           actual.getOptions()[0].getCallDate());
              assertEquals("The expected and actual values did not match.",
                           new Date(1013441507328L),
                           actual.getOptions()[1].getCallDate());
              assertEquals("The expected and actual values did not match.",
                           new Short((short) 33),
                           actual.getWrapperShortArray()[0]);
              assertEquals("The expected and actual values did not match.",
                           new Short((short) 86),
                           actual.getWrapperShortArray()[1]);
              assertEquals("The expected and actual values did not match.",
                           new Byte((byte) 4),
                           actual.getWrapperByteArray()[0]);
              assertEquals("The expected and actual values did not match.",
                           new Byte((byte) 18),
                           actual.getWrapperByteArray()[1]);
              assertEquals("The expected and actual values did not match.",
                           new Double(33.232D),
                           actual.getWrapperDouble());
              assertEquals("The expected and actual values did not match.",
                           new Float(2.23F),
                           actual.getWrapperFloat());
              assertEquals("The expected and actual values did not match.",
                           new Integer(3),
                           actual.getWrapperInteger());
              assertEquals("The expected and actual values did not match.",
                           new Short((short) 2),
                           actual.getWrapperShort());
              assertEquals("The expected and actual values did not match.",
                           new Byte((byte) 21),
                           actual.getWrapperByte()); 
              assertEquals("The expected and actual values did not match.",
                           new Boolean(false),
                           actual.getWrapperBoolean()); 
              assertEquals("The expected and actual values did not match.",
                           (short) 36,
                           actual.getShortArray()[0]);
              assertEquals("The expected and actual values did not match.",
                           (byte) 7,
                           actual.getByteArray()[0]); 
              assertEquals("The expected and actual values did not match.",
                           new Date(1012937862997L),
                           actual.getCallableDate());
              assertEquals("The expected and actual values did not match.",
                           new BigDecimal("2735.23"),
                           actual.getBondAmount());
              assertEquals("The expected and actual values did not match.",
                           new BigInteger("21093"),
                           actual.getPortfolioType());
              assertEquals("The expected and actual values did not match.",
                           new String("AMEX"),
                           actual.getTradeExchange());
              assertEquals("The expected and actual values did not match.",
                           415.012D,
                           actual.getFiftyTwoWeekHigh(),
                           DOUBLE_DELTA);
              assertEquals("The expected and actual values did not match.",
                           8795.32F,
                           actual.getLastTradePrice(),
                           FLOAT_DELTA);
              assertEquals("The expected and actual values did not match.",
                           575L,
                           actual.getYield());
              assertEquals("The expected and actual values did not match.",
                           3,
                           actual.getStockBeta());
              assertEquals("The expected and actual values did not match.",
                           (short) 45,
                           actual.getDocType());
              assertEquals("The expected and actual values did not match.",
                           (byte) 8,
                           actual.getTaxIndicator());
  
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testRoundtripBondInvestment
  
      /**
       *  The BondInvestment class contains all the supported data members:
       *  primitives, standard Java classes, arrays, and primitive wrapper
       *  classes.  This test insures that a BondInvestment class received
       *  by a remote method contains the expected values.
       */
      public void testBondInvestmentOut() {
  
          try {
              BondInvestment actual = binding.methodBondInvestmentOut();
              assertEquals("The expected and actual values did not match.",
                           new Date(1013441507308L),
                           actual.getOptions()[0].getCallDate());
              assertEquals("The expected and actual values did not match.",
                           new Date(1013441507328L),
                           actual.getOptions()[1].getCallDate());
              assertEquals("The expected and actual values did not match.",
                           new Short((short) 33),
                           actual.getWrapperShortArray()[0]);
              assertEquals("The expected and actual values did not match.",
                           new Short((short) 86),
                           actual.getWrapperShortArray()[1]);
              assertEquals("The expected and actual values did not match.",
                           new Byte((byte) 4),
                           actual.getWrapperByteArray()[0]);
              assertEquals("The expected and actual values did not match.",
                           new Byte((byte) 18),
                           actual.getWrapperByteArray()[1]);
              assertEquals("The expected and actual values did not match.",
                           new Double(33.232D),
                           actual.getWrapperDouble());
              assertEquals("The expected and actual values did not match.",
                           new Float(2.23F),
                           actual.getWrapperFloat());
              assertEquals("The expected and actual values did not match.",
                           new Integer(3),
                           actual.getWrapperInteger());
              assertEquals("The expected and actual values did not match.",
                           new Short((short) 2),
                           actual.getWrapperShort());
              assertEquals("The expected and actual values did not match.",
                           new Byte((byte) 21),
                           actual.getWrapperByte()); 
              assertEquals("The expected and actual values did not match.",
                           new Boolean(false),
                           actual.getWrapperBoolean()); 
              assertEquals("The expected and actual values did not match.",
                           (short) 36,
                           actual.getShortArray()[0]);
              assertEquals("The expected and actual values did not match.",
                           (byte) 7,
                           actual.getByteArray()[0]); 
              assertEquals("The expected and actual values did not match.",
                           new Date(1012937862997L),
                           actual.getCallableDate());
              assertEquals("The expected and actual values did not match.",
                           new BigDecimal("2735.23"),
                           actual.getBondAmount());
              assertEquals("The expected and actual values did not match.",
                           new BigInteger("21093"),
                           actual.getPortfolioType());
              assertEquals("The expected and actual values did not match.",
                           new String("AMEX"),
                           actual.getTradeExchange());
              assertEquals("The expected and actual values did not match.",
                           415.012D,
                           actual.getFiftyTwoWeekHigh(),
                           DOUBLE_DELTA);
              assertEquals("The expected and actual values did not match.",
                           8795.32F,
                           actual.getLastTradePrice(),
                           FLOAT_DELTA);
              assertEquals("The expected and actual values did not match.",
                           575L,
                           actual.getYield());
              assertEquals("The expected and actual values did not match.",
                           3,
                           actual.getStockBeta());
              assertEquals("The expected and actual values did not match.",
                           (short) 45,
                           actual.getDocType());
              assertEquals("The expected and actual values did not match.",
                           (byte) 8,
                           actual.getTaxIndicator());
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testBondInvestmentOut
  
      /**
       *  The BondInvestment class contains all the supported data members:
       *  primitives, standard Java classes, arrays, and primitive wrapper
       *  classes.  This test insures that a remote method can recieve the
       *  BondInvestment class and that its values match the expected values.
       */
      public void testBondInvestmentIn() {
  
          try {
  
              CallOptions[] callOptions = new CallOptions[2];
              callOptions[0] = new CallOptions(new Date(1013441507388L));
              callOptions[1] = new CallOptions(new Date(1013441507390L));
              short[] shortArray = {(short) 30};
              byte[] byteArray = {(byte) 1};
              Short[] wrapperShortArray = {new Short((short) 23), new Short((short) 56)};
              Byte[] wrapperByteArray = {new Byte((byte) 2), new Byte((byte) 15)};
  
              BondInvestment sendValue = new BondInvestment();
              
              sendValue.setOptions(callOptions);
              sendValue.setWrapperShortArray(wrapperShortArray);
              sendValue.setWrapperByteArray(wrapperByteArray);
              sendValue.setWrapperDouble(new Double(2323.232D));
              sendValue.setWrapperFloat(new Float(23.023F));
              sendValue.setWrapperInteger(new Integer(2093));
              sendValue.setWrapperShort(new Short((short) 203));
              sendValue.setWrapperByte(new Byte((byte) 20));
              sendValue.setWrapperBoolean(new Boolean(true));
              sendValue.setShortArray(shortArray);
              sendValue.setByteArray(byteArray);
              sendValue.setCallableDate(new Date(1012937861996L));
              sendValue.setBondAmount(new BigDecimal("2675.23"));
              sendValue.setPortfolioType(new BigInteger("2093"));
              sendValue.setTradeExchange("NYSE");
              sendValue.setFiftyTwoWeekHigh(45.012D);
              sendValue.setLastTradePrice(87895.32F);
              sendValue.setYield(5475L);
              sendValue.setStockBeta(32);
              sendValue.setDocType((short) 35);
              sendValue.setTaxIndicator((byte) 3);
  
              binding.methodBondInvestmentIn(sendValue);
  
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testBondInvestmentIn
  
      /**
       *  Test to insure that a multiple array sent by a remote method can be
       *  received and its values match the expected values.
       */
      public void testMethodStringMArrayOut() {
  
          try {
              String[][] expected = {{"Out-0-0"}, {"Out-1-0"}};
              String[][] actual = binding.methodStringMArrayOut();
              assertEquals("The expected and actual values did not match.",
                           expected[0][0],
                           actual[0][0]);
              assertEquals("The expected and actual values did not match.",
                           expected[1][0],
                           actual[1][0]);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodStringMArrayOut
  
      /**
       *  Test to insure that a multiple array can be sent to a remote method.  The
       *  server matches the received array against its expected values.
       */
      public void testMethodStringMArrayIn() {
  
          try {
              String[][] sendArray = {{"In-0-0", "In-0-1"}, {"In-1-0", "In-1-1"}};
              binding.methodStringMArrayIn(sendArray);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodStringMArrayIn
  
      /**
       *  Test to insure that a multiple array matches the expected values on both
       *  the client and server.
       */
      public void testMethodStringMArrayInOut() {
  
          try {
              String[][] sendArray = {{"Request-0-0", "Request-0-1"}, {"Request-1-0", "Request-1-1"}};
              String[][] expected = {{"Response-0-0", "Response-0-1"}, {"Response-1-0", "Response-1-1"}};
              String[][] actual = binding.methodStringMArrayInOut(sendArray);
              assertEquals("The expected and actual values did not match.",
                           expected[0][0],
                           actual[0][0]);
              assertEquals("The expected and actual values did not match.",
                           expected[0][1],
                           actual[0][1]);
              assertEquals("The expected and actual values did not match.",
                           expected[1][0],
                           actual[1][0]);
              assertEquals("The expected and actual values did not match.",
                           expected[1][1],
                           actual[1][1]);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodStringMArrayInOut
  
      /**
       *  Test to insure that an int array can be sent by a remote method and
       *  the received values match the expected values on the client.
       */
      public void testMethodIntArrayOut() {
  
          try {
              int[] expected = {3, 78, 102};
              int[] actual = binding.methodIntArrayOut();
              assertEquals("The expected and actual values did not match.",
                           expected[0],
                           actual[0]);
              assertEquals("The expected and actual values did not match.",
                           expected[1],
                           actual[1]);
              assertEquals("The expected and actual values did not match.",
                           expected[2],
                           actual[2]);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodIntArrayOut
  
      /**
       *  Test to insure that an int array can be sent to a remote method.  The server
       *  checks the received array against its expected values.
       */
      public void testMethodIntArrayIn() {
  
          try {
              int[] sendValue = {91, 54, 47, 10};
              binding.methodIntArrayIn(sendValue);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodIntArrayIn
  
      /**
       *  Test to insure that an int array can roundtrip between the client
       *  and server.  The actual and expected values are compared on both
       *  the client and server.
       */
      public void testMethodIntArrayInOut() {
  
          try {
              int[] sendValue = {90, 34, 45, 239, 45, 10};
              int[] expected = {12, 39, 50, 60, 28, 39};
              int[] actual = binding.methodIntArrayInOut(sendValue);
              assertEquals("The expected and actual values did not match.",
                           expected[0],
                           actual[0]);
              assertEquals("The expected and actual values did not match.",
                           expected[1],
                           actual[1]);
              assertEquals("The expected and actual values did not match.",
                           expected[2],
                           actual[2]);
              assertEquals("The expected and actual values did not match.",
                           expected[3],
                           actual[3]);
              assertEquals("The expected and actual values did not match.",
                           expected[4],
                           actual[4]);
              assertEquals("The expected and actual values did not match.",
                           expected[5],
                           actual[5]);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodIntArrayInOut
  
      /**
       *  Test to insure that all the XML -> Java types can be sent to a remote 
       *  method.  The server checks for the expected values.
       */
      public void testMethodAllTypesIn() {
  
          try {
              byte[] sendByteArray = {(byte) 5, (byte) 10, (byte) 12};
              Byte[] sendWrapperByteArray = {new Byte((byte) 9), new Byte((byte) 7)};
              binding.methodAllTypesIn(new String("Request methodAllTypesIn"),
                                       new BigInteger("545"),
                                       new BigDecimal("546.545"),
                                       new Date(1012937861986L),
                                       true,
                                       (byte) 2,
                                       (short) 14,
                                       234,
                                       10900L,
                                       23098.23F,
                                       2098098.01D,
                                       sendByteArray,
                                       new Boolean(false),
                                       new Byte((byte) 11),
                                       new Short((short) 45),
                                       new Integer(101),
                                       new Long(232309L),
                                       new Float(67634.12F),
                                       new Double(892387.232D),
                                       sendWrapperByteArray);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodAllTypesIn
  
      /**
       *  Test to insure that a wrapper Byte array contains the expected values
       *  on both the client and server.
       */
      public void testMethodSoapByteArray() {
  
          try {
              Byte[] sendByte = {new Byte((byte) 17), new Byte((byte) 11)};
              Byte[] expected = {new Byte((byte) 3), new Byte((byte) 7)};
              Byte[] actual = binding.methodSoapByteArray(sendByte);
              assertEquals("The expected and actual values did not match.",
                           expected[0],
                           actual[0]);
              assertEquals("The expected and actual values did not match.",
                           expected[1],
                           actual[1]);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodSoapByteArray
  
      /**
       *  Test to insure that a primitive byte array matches the expected values on
       *  both the client and server.
       */
      public void testMethodByteArray() {
  
          try {
              byte[] expected = {(byte) 5, (byte) 4};
              byte[] sendByte = {(byte) 3, (byte) 9};
              byte[] actual = binding.methodByteArray(sendByte);
              assertEquals("The expected and actual values did not match.",
                           expected[0],
                           actual[0]);
              assertEquals("The expected and actual values did not match.",
                           expected[1],
                           actual[1]);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodByteArray
  
      /**
       *  Test to insure that a Date object matches the expected values
       *  on both the client and server.
       */
      public void testMethodDateTime() {
  
          try {
              Date expected = new Date(1012937861800L);
              Date actual = binding.methodDateTime(new Date(1012937861996L));
              assertEquals("The expected and actual values did not match.",
                           expected,
                           actual);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodDateTime
  
      /**
       *  Test to insure that a BigDecimal matches the expected values on 
       *  both the client and server.
       */
      public void testMethodBigDecimal() {
  
          try {
              BigDecimal expected = new BigDecimal("903483.304");
              BigDecimal actual = binding.methodBigDecimal(new BigDecimal("3434.456"));
              assertEquals("The expected and actual values did not match.",
                           expected,
                           actual);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodBigDecimal
  
      /**
       *  Test to insure that a BigInteger matches the expected values on 
       *  both the client and server.
       */
      public void testMethodBigInteger() {
  
          try {
              BigInteger expected = new BigInteger("2323");
              BigInteger actual = binding.methodBigInteger(new BigInteger("8789"));
              assertEquals("The expected and actual values did not match.",
                           expected,
                           actual);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodBigInteger
  
      /**
       *  Test to insure that a String matches the expected values on
       *  both the client and server.
       */
      public void testMethodString() {
  
          try {
              String expected = "Response";
              String actual = binding.methodString(new String("Request"));
              assertEquals("The expected and actual values did not match.",
                           expected,
                           actual);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodString
  
      /**
       *  Test to insure that a primitive double matches the expected
       *  values on both the client and server.
       */
      public void testMethodDouble() {
  
          try {
              double expected = 567.547D;
              double actual = binding.methodDouble(87502.002D);
              assertEquals("The expected and actual values did not match.",
                           expected,
                           actual,
                           DOUBLE_DELTA);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodDouble
  
      /**
       *  Test to insure that a primitive float matches the expected
       *  values on both the client and server.
       */
      public void testMethodFloat() {
  
          try {
              float expected = 12325.545F;
              float actual = binding.methodFloat(8787.25F);
              assertEquals("The expected and actual values did not match.",
                           expected,
                           actual,
                           FLOAT_DELTA);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodFloat
  
      /**
       *  Test to insure that a primitive long matches the expected
       *  values on both the client and server.
       */
      public void testMethodLong() {
  
          try {
              long expected = 787985L;
              long actual = binding.methodLong(45425L);
              assertEquals("The expected and actual values did not match.",
                           expected,
                           actual);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodLong
  
      /**
       *  Test to insure that a primitive int matches the expected
       *  values on both the client and server.
       */
      public void testMethodInt() {
  
          try {
              int expected = 10232;
              int actual = binding.methodInt(1215);
              assertEquals("The expected and actual values did not match.",
                           expected,
                           actual);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodInt
  
      /**
       *  Test to insure that a primitive short matches the expected
       *  values on both the client and server.
       */
      public void testMethodShort() {
  
          try {
              short expected = (short) 124;
              short actual = binding.methodShort((short) 302);
              assertEquals("The expected and actual values did not match.",
                           expected,
                           actual);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodShort
  
      /**
       *  Test to insure that a primitive byte matches the expected
       *  values on both the client and server.
       */
      public void testMethodByte() {
  
          try {
              byte expected = (byte) 35;
              byte actual = binding.methodByte((byte) 61);
              assertEquals("The expected and actual values did not match.",
                           expected,
                           actual);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodByte
  
      /**
       *  Test to insure that a primitive boolean matches the expected
       *  values on both the client and server.
       */
      public void testMethodBoolean() {
  
          try {
              boolean expected = false;
              boolean actual = binding.methodBoolean(true);
              assertEquals("The expected and actual values did not match.",
                           expected,
                           actual);
          } catch (RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodBoolean
  
  
      /**
       *  Test to insure that an array of a  user defined class matches
       *  the expected values on both the client and server.
       */
      public void testMethodCallOptions() {
  
          try {
              CallOptions[] callOptions = new CallOptions[1];
              callOptions[0] = new CallOptions(new Date(1013459984577L));
              CallOptions[] actual = binding.methodCallOptions(callOptions);
              assertEquals("The expected and actual values did not match.",
                           new Date(1013459984507L),
                           actual[0].getCallDate());
          } catch(RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodCallOptions
  
      /**
       *  Test to insure that a wrapper Float object matches
       *  the expected values on both the client and server.
       */
      public void testMethodSoapFloat() {
  
          try {
              Float actual = binding.methodSoapFloat(new Float(23423.234F));
              assertEquals("The expected and actual values did not match.",
                           new Float(232.23F),
                           actual);
          } catch(RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodSoapFloat
  
      /**
       *  Test to insure that a wrapper Double object matches
       *  the expected values on both the client and server.
       */
      public void testMethodSoapDouble() {
  
          try {
              Double actual = binding.methodSoapDouble(new Double(123423.234D));
              assertEquals("The expected and actual values did not match.",
                           new Double(2232.23D),
                           actual);
          } catch(RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodSoapDouble
  
      /**
       *  Test to insure that a wrapper Boolean object matches
       *  the expected values on both the client and server.
       */
      public void testMethodSoapBoolean() {
  
          try {
              Boolean actual = binding.methodSoapBoolean(new Boolean(true));
              assertEquals("The expected and actual values did not match.",
                           new Boolean(false),
                           actual);
          } catch(RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodSoapBoolean
  
      /**
       *  Test to insure that a wrapper Byte object matches
       *  the expected values on both the client and server.
       */
      public void testMethodSoapByte() {
  
          try {
              Byte actual = binding.methodSoapByte(new Byte((byte) 9));
              assertEquals("The expected and actual values did not match.",
                           new Byte((byte) 10),
                           actual);
          } catch(RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodSoapByte
  
      /**
       *  Test to insure that a wrapper Short object matches
       *  the expected values on both the client and server.
       */
      public void testMethodSoapShort() {
  
          try {
              Short actual = binding.methodSoapShort(new Short((short) 32));
              assertEquals("The expected and actual values did not match.",
                           new Short((short) 44),
                           actual);
          } catch(RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodSoapShort
  
      /**
       *  Test to insure that a wrapper Integer object matches
       *  the expected values on both the client and server.
       */
      public void testMethodSoapInt() {
  
          try {
              Integer actual = binding.methodSoapInt(new Integer(332));
              assertEquals("The expected and actual values did not match.",
                           new Integer(441),
                           actual);
          } catch(RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodSoapInt
  
      /**
       *  Test to insure that a wrapper Long object matches
       *  the expected values on both the client and server.
       */
      public void testMethodSoapLong() {
  
          try {
              Long actual = binding.methodSoapLong(new Long(3321L));
              assertEquals("The expected and actual values did not match.",
                           new Long(4412L),
                           actual);
          } catch(RemoteException re) {
              fail("Remote Exception caught: " + re);
          }
  
      } // testMethodSoapLong
  
  } // End class RoundtripTestServiceTestCase
  
  
  
  
  
  1.1                  xml-axis/java/test/wsdl/roundtrip/RoundtripTestSoapBindingImpl.java
  
  Index: RoundtripTestSoapBindingImpl.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Axis" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package test.wsdl.roundtrip;
  
  import java.util.Date;
  import java.math.BigDecimal;
  import java.math.BigInteger;
  
  import test.wsdl.roundtrip.RoundtripPortType;
  import test.wsdl.roundtrip.BondInvestment;
  import test.wsdl.roundtrip.StockInvestment;
  import test.wsdl.roundtrip.PreferredStockInvestment;
  import test.wsdl.roundtrip.CallOptions;
  
  import java.rmi.RemoteException;
  
  /**
   * This class contains the implementations of the methods defined in the
   * RoundtripPortType interface.  Most of the methods compare the actual
   * values received from the client against some expected values. 
   *
   * @version   1.00  06 Feb 2002
   * @author    Brent Ulbricht
   */
  public class RoundtripTestSoapBindingImpl implements RoundtripPortType {
  
      public float getRealtimeLastTradePrice(StockInvestment in0) throws RemoteException {
  
          if ((in0.getLastTradePrice() == 200.55F) &&
                (in0.getTradeExchange().equals("NYSE")) &&
                (in0.getName().equals("International Business Machines")) &&
                (in0.getId() == 1)) {
              return 201.25F;
          } else {
              throw new RemoteException("Actual Value Did Not Match Expected Value.");
          }
  
      } // getRealtimeLastTradePrice
  
      public PreferredStockInvestment getDividends(PreferredStockInvestment in0) throws RemoteException {
  
          if ((in0.getLastTradePrice() == 10.50F) &&
                (in0.getTradeExchange().equals("NASDAQ")) &&
                (in0.getName().equals("SOAP Inc.")) &&
                (in0.getId() == 202) &&
                (in0.getDividendsInArrears() == 100.44D) &&
                (in0.getPreferredYield().equals(new BigDecimal("7.00")))) {
              in0.setName("AXIS Inc.");
              in0.setId(203);
              in0.setTradeExchange("NASDAQ");
              in0.setLastTradePrice(11.50F);
              in0.setDividendsInArrears(101.44D);
              in0.setPreferredYield(new BigDecimal("8.00"));
              return in0;
          } else {
              throw new RemoteException("Actual Value Did Not Match Expected Value.");
          }
  
      } // getDividend
  
      public BondInvestment methodBondInvestmentInOut(BondInvestment in0) throws RemoteException {
  
          short[] shortArray = {(short) 36};
          byte[] byteArray = {(byte) 7};
          CallOptions[] callOptions = new CallOptions[2];
          callOptions[0] = new CallOptions(new Date(1013441507308L));
          callOptions[1] = new CallOptions(new Date(1013441507328L));
          Short[] wrapperShortArray = {new Short((short) 33), new Short((short) 86)};
          Byte[] wrapperByteArray = {new Byte((byte) 4), new Byte((byte) 18)};
  
          BondInvestment sendValue = new BondInvestment();
          
          sendValue.setOptions(callOptions);
          sendValue.setWrapperShortArray(wrapperShortArray);
          sendValue.setWrapperByteArray(wrapperByteArray);
          sendValue.setWrapperDouble(new Double(33.232D));
          sendValue.setWrapperFloat(new Float(2.23F));
          sendValue.setWrapperInteger(new Integer(3));
          sendValue.setWrapperShort(new Short((short) 2));
          sendValue.setWrapperByte(new Byte((byte) 21));
          sendValue.setWrapperBoolean(new Boolean(false));
          sendValue.setShortArray(shortArray);
          sendValue.setByteArray(byteArray);
          sendValue.setCallableDate(new Date(1012937862997L));
          sendValue.setBondAmount(new BigDecimal("2735.23"));
          sendValue.setPortfolioType(new BigInteger("21093"));
          sendValue.setTradeExchange("AMEX");
          sendValue.setFiftyTwoWeekHigh(415.012D);
          sendValue.setLastTradePrice(8795.32F);
          sendValue.setYield(575L);
          sendValue.setStockBeta(3);
          sendValue.setDocType((short) 45);
          sendValue.setTaxIndicator((byte) 8);
          
          if ((in0.getOptions()[0].getCallDate().equals(new Date(1013441507388L))) &&
              (in0.getOptions()[1].getCallDate().equals(new Date(1013441507390L))) &&
              (in0.getWrapperShortArray()[0].equals(new Short((short) 23))) &&
              (in0.getWrapperShortArray()[1].equals(new Short((short) 56))) &&
              (in0.getWrapperByteArray()[0].equals(new Byte((byte) 2))) &&
              (in0.getWrapperByteArray()[1].equals(new Byte((byte) 15))) &&
              (in0.getWrapperDouble().equals(new Double(2323.232D))) &&
              (in0.getWrapperFloat().equals(new Float(23.023F))) &&
              (in0.getWrapperInteger().equals(new Integer(2093))) &&
              (in0.getWrapperShort().equals(new Short((short) 203))) &&
              (in0.getWrapperByte().equals(new Byte((byte) 20))) &&
              (in0.getWrapperBoolean().equals(new Boolean(true))) &&
              (in0.getShortArray()[0] == (short) 30) &&
              (in0.getByteArray()[0] == (byte) 1) &&
              (in0.getCallableDate().equals(new Date(1012937861996L))) &&
              (in0.getBondAmount().equals(new BigDecimal("2675.23"))) &&
              (in0.getPortfolioType().equals(new BigInteger("2093"))) &&
              (in0.getTradeExchange().equals("NYSE")) &&
              (in0.getFiftyTwoWeekHigh() ==  45.012D) &&
              (in0.getLastTradePrice() == 87895.32F) &&
              (in0.getYield() == 5475L) && 
              (in0.getStockBeta() == 32) &&
              (in0.getDocType() == (short) 35) &&
              (in0.getTaxIndicator() == (byte) 3)) {
              return sendValue;
          } else {
              throw new RemoteException("Actual values did not match expected values.");
          }
  
      } // methodBondInvestmentInOut
  
      public BondInvestment methodBondInvestmentOut() throws RemoteException {
  
          short[] shortArray = {(short) 36};
          byte[] byteArray = {(byte) 7};
          CallOptions[] callOptions = new CallOptions[2];
          callOptions[0] = new CallOptions(new Date(1013441507308L));
          callOptions[1] = new CallOptions(new Date(1013441507328L));
          Short[] wrapperShortArray = {new Short((short) 33), new Short((short) 86)};
          Byte[] wrapperByteArray = {new Byte((byte) 4), new Byte((byte) 18)};
  
          BondInvestment sendValue = new BondInvestment();
          
          sendValue.setOptions(callOptions);
          sendValue.setWrapperShortArray(wrapperShortArray);
          sendValue.setWrapperByteArray(wrapperByteArray);
          sendValue.setWrapperDouble(new Double(33.232D));
          sendValue.setWrapperFloat(new Float(2.23F));
          sendValue.setWrapperInteger(new Integer(3));
          sendValue.setWrapperShort(new Short((short) 2));
          sendValue.setWrapperByte(new Byte((byte) 21));
          sendValue.setWrapperBoolean(new Boolean(false));
          sendValue.setShortArray(shortArray);
          sendValue.setByteArray(byteArray);
          sendValue.setCallableDate(new Date(1012937862997L));
          sendValue.setBondAmount(new BigDecimal("2735.23"));
          sendValue.setPortfolioType(new BigInteger("21093"));
          sendValue.setTradeExchange("AMEX");
          sendValue.setFiftyTwoWeekHigh(415.012D);
          sendValue.setLastTradePrice(8795.32F);
          sendValue.setYield(575L);
          sendValue.setStockBeta(3);
          sendValue.setDocType((short) 45);
          sendValue.setTaxIndicator((byte) 8);
  
          return sendValue;
  
      } // methodBondInvestmentOut
  
      public void methodBondInvestmentIn(BondInvestment in0) throws RemoteException {
  
          if (!((in0.getOptions()[0].getCallDate().equals(new Date(1013441507388L))) &&
                (in0.getOptions()[1].getCallDate().equals(new Date(1013441507390L))) &&
                (in0.getWrapperShortArray()[0].equals(new Short((short) 23))) &&
                (in0.getWrapperShortArray()[1].equals(new Short((short) 56))) &&
                (in0.getWrapperByteArray()[0].equals(new Byte((byte) 2))) &&
                (in0.getWrapperByteArray()[1].equals(new Byte((byte) 15))) &&
                (in0.getWrapperDouble().equals(new Double(2323.232D))) &&
                (in0.getWrapperFloat().equals(new Float(23.023F))) &&
                (in0.getWrapperInteger().equals(new Integer(2093))) &&
                (in0.getWrapperShort().equals(new Short((short) 203))) &&
                (in0.getWrapperByte().equals(new Byte((byte) 20))) &&
                (in0.getWrapperBoolean().equals(new Boolean(true))) &&
                (in0.getShortArray()[0] == (short) 30) &&
                (in0.getByteArray()[0] == (byte) 1) &&
                (in0.getCallableDate().equals(new Date(1012937861996L))) &&
                (in0.getBondAmount().equals(new BigDecimal("2675.23"))) &&
                (in0.getPortfolioType().equals(new BigInteger("2093"))) &&
                (in0.getTradeExchange().equals("NYSE")) &&
                (in0.getFiftyTwoWeekHigh() ==  45.012D) &&
                (in0.getLastTradePrice() == 87895.32F) &&
                (in0.getYield() == 5475L) && 
                (in0.getStockBeta() == 32) &&
                (in0.getDocType() == (short) 35) &&
                (in0.getTaxIndicator() == (byte) 3))) {
              throw new RemoteException("Actual values did not match expected values.");
          }
  
      } // methodBondInvestmentIn
  
      public String[][] methodStringMArrayOut() throws RemoteException {
  
          String[][] sendArray = { {"Out-0-0"}, {"Out-1-0"}};
          return sendArray;
  
      } // methodStringMArrayOut
  
      public void methodStringMArrayIn(String[][] in0) throws RemoteException {
  
          if (!((in0[0][0].equals("In-0-0")) &&
                (in0[0][1].equals("In-0-1")) &&
                (in0[1][0].equals("In-1-0")) &&
                (in0[1][1].equals("In-1-1")))) {
              throw new RemoteException("The actual values did not match expected values.");
          }
  
      } // methodStringMArrayIn
  
      public String[][] methodStringMArrayInOut(String[][] in0) throws RemoteException {
  
          String[][] sendArray = { {"Response-0-0", "Response-0-1"}, {"Response-1-0", "Response-1-1"}};
  
          if ((in0[0][0].equals("Request-0-0")) &&
              (in0[0][1].equals("Request-0-1")) &&
              (in0[1][0].equals("Request-1-0")) &&
              (in0[1][1].equals("Request-1-1"))) {
              return sendArray;
          } else {
              throw new RemoteException("The actual values did not match expected values.");
          }
  
      } // methodStringMArrayInOut
  
      public int[] methodIntArrayOut() throws RemoteException {
  
          int[] returnByteArray = {3, 78, 102};
          return returnByteArray;
  
      } // methodIntArrayOut
  
      public void methodIntArrayIn(int[] in0) throws RemoteException {
  
          if (!((in0[0] == 91) &&
                (in0[1] == 54) &&
                (in0[2] == 47) &&
                (in0[3] == 10))) {
              throw new RemoteException("The actual values did not match expected values.");
          }
  
      } // methodIntArrayIn
  
      public int[] methodIntArrayInOut(int[] in0) throws RemoteException {
  
          int[] returnByteArray = {12, 39, 50, 60, 28, 39};
  
          if ((in0[0] == 90) &&
                (in0[1] == 34) &&
                (in0[2] == 45) &&
                (in0[3] == 239) &&
                (in0[4] == 45) &&
                (in0[5] == 10)) {
              return returnByteArray;
          } else {
              throw new RemoteException("The actual values did not match expected values.");
          }
  
      } // methodIntArrayIn
  
      public void methodAllTypesIn(String in0,
                                   BigInteger in1,
                                   BigDecimal in2,
                                   Date in3,
                                   boolean in4,
                                   byte in5,
                                   short in6,
                                   int in7,
                                   long in8,
                                   float in9,
                                   double in10,
                                   byte[] in11,
                                   Boolean in13,
                                   Byte in14,
                                   Short in15, 
                                   Integer in16,
                                   Long in17,
                                   Float in18,
                                   Double in19,
                                   Byte[] in12) throws RemoteException {
          if (!((in0.equals(new String("Request methodAllTypesIn"))) &&
                (in1.equals(new BigInteger("545"))) &&
                (in2.equals(new BigDecimal("546.545"))) &&
                (in3.equals(new Date(1012937861986L))) &&
                (in13.equals(new Boolean(false))) &&
                (in14.equals(new Byte((byte) 11))) &&
                (in15.equals(new Short((short) 45))) &&
                (in16.equals(new Integer(101))) &&
                (in17.equals(new Long(232309L))) &&
                (in18.equals(new Float(67634.12F))) &&
                (in19.equals(new Double(892387.232D))) &&
                (in4) &&
                (in5 == (byte) 2) &&
                (in6 == (short) 14) &&
                (in7 == 234) &&
                (in8 == 10900L) &&
                (in9 == 23098.23F) &&
                (in10 == 2098098.01D) &&
                (in11[0] == (byte) 5) &&
                (in11[1] == (byte) 10) &&
                (in11[2] == (byte) 12) &&
                (in12[0].equals(new Byte((byte) 9))) &&
                (in12[1].equals(new Byte((byte) 7))))) {
              throw new RemoteException("Expected values did not match actuals.");
          }
  
      } // methodAllTypesIn
  
      public Byte[] methodSoapByteArray(Byte[] in0) throws RemoteException {
  
          Byte[] expected = {new Byte((byte) 17), new Byte((byte) 11)};
          Byte[] returnByte = {new Byte((byte) 3), new Byte((byte) 7)};
  
          if ((in0[0].equals(expected[0])) && (in0[1].equals(expected[1]))) {
              return returnByte;
          } else {
              throw new RemoteException("Expecting a Byte array with 17 and 11.");
          }
  
      } // methodSoapByteArray
  
      public byte[] methodByteArray(byte[] in0) throws RemoteException {
  
          byte[] returnByte = {(byte) 5, (byte) 4};
  
          if ((in0[0] == (byte) 3) && (in0[1] == (byte) 9)) {
              return returnByte;    
          } else {
              throw new RemoteException("Expecting a byte array with 3 and 9.");
          }
  
      } // methodByteArray
  
      public Date methodDateTime(Date in0) throws RemoteException {
  
          Date expectedDate = new Date(1012937861996L);
  
          if (in0.equals(expectedDate)) {
              return new Date(1012937861800L);
          } else {
              throw new RemoteException("Expecting a Date value of " + expectedDate + ".");
          }
  
      } // methodDateTime
  
      public BigDecimal methodBigDecimal(BigDecimal in0) throws RemoteException {
  
          if (in0.equals(new BigDecimal("3434.456"))) {
              return new BigDecimal("903483.304");
          } else {
              throw new RemoteException("Expecting a BigDecimal value of 3434.456.");
          }
  
      } // methodBigDecimal
  
      public BigInteger methodBigInteger(BigInteger in0) throws RemoteException {
  
          if (in0.equals(new BigInteger("8789"))) {
              return new BigInteger("2323");
          } else {
              throw new RemoteException("Expecting a BigInteger value of 8789.");
          }
  
      } // methodBigInteger
  
      public String methodString(String in0) throws RemoteException {
  
          if (in0.equals("Request")) {
              return "Response";
          } else {
              throw new RemoteException("Expecting a string value of \"Request\"");
          }
  
      } // methodString
  
      public double methodDouble(double in0) throws RemoteException {
  
          if (in0 == 87502.002D) {
              return 567.547D;
          } else {
              throw new RemoteException("Expecting a double value of 87502.002D"); 
          }
  
      } // methodDouble
  
      public float methodFloat(float in0) throws RemoteException {
  
          if (in0 == 8787.25F) {
              return 12325.545F;
          } else {
              throw new RemoteException("Expecting a float value of 8787.25F");
          }
  
      } // methodFloat
  
      public long methodLong(long in0) throws RemoteException {
  
          if (in0 == 45425L) {
              return 787985L;
          } else {
              throw new RemoteException("Expecting a long value of 45425L.");
          }
  
      } // methodLong
  
      public int methodInt(int in0) throws RemoteException {
  
          if (in0 == 1215) {
              return 10232;
          } else {
              throw new RemoteException("Expecting an int value of 1215.");
          }
  
      } // methodInt
  
      public short methodShort(short in0) throws RemoteException {
  
          if (in0 == (short) 302) {
              return(short) 124;
          } else {
              throw new RemoteException("Expecting a short value of 302.");
          }
  
      } // methodShort
  
      public byte methodByte(byte in0) throws RemoteException {
  
          if (in0 == (byte) 61) {
              return(byte) 35;
          } else {
              throw new RemoteException("Expecting a byte value of 61.");
          }
  
      } // methodByte
  
      public boolean methodBoolean(boolean in0) throws RemoteException {
  
          if (in0) {
              return false;
          } else {
              throw new RemoteException("Expecting a boolean value of true.");
          } 
  
      } // methodBoolean
  
      public CallOptions[] methodCallOptions(CallOptions[] in0) throws RemoteException {
  
          if (in0[0].getCallDate().equals(new Date(1013459984577L))) {
              in0[0] = new CallOptions(new Date(1013459984507L));
              return in0;
          } else {
              throw new RemoteException("Actual value did not match expected value.");
          }
  
      } // methodCallOptions
  
      public Float methodSoapFloat(Float in0) throws RemoteException {
  
          if (in0.equals(new Float(23423.234F))) {
              return new Float(232.23F);
          } else {
              throw new RemoteException("Expecting a float value of 23423.234F");
          }
  
      } // methodSoapFloat
      
      public Double methodSoapDouble(Double in0) throws RemoteException {
  
          if (in0.equals(new Double(123423.234D))) {
              return new Double(2232.23D);
          } else {
              throw new RemoteException("Expecting a float value of 123423.234D");
          }
  
      } // methodSoapDouble
  
      public Boolean methodSoapBoolean(Boolean in0) throws RemoteException {
  
          if (in0.equals(new Boolean(true))) {
              return new Boolean(false);
          } else {
              throw new RemoteException("Expecting a boolean value of true");
          }
  
      } // methodSoapBoolean
  
      public Byte methodSoapByte(Byte in0) throws RemoteException {
  
          if (in0.equals(new Byte((byte) 9))) {
              return new Byte((byte) 10);
          } else {
              throw new RemoteException("Expecting a byte value of 9");
          }
  
      } // methodSoapByte
  
      public Short methodSoapShort(Short in0) throws RemoteException {
  
          if (in0.equals(new Short((short) 32))) {
              return new Short((short) 44);
          } else {
              throw new RemoteException("Expecting a short value of 32");
          }
  
      } // methodSoapShort
  
      public Integer methodSoapInt(Integer in0) throws RemoteException {
  
          if (in0.equals(new Integer(332))) {
              return new Integer(441);
          } else {
              throw new RemoteException("Expecting a short value of 332");
          }
  
      } // methodSoapInt
  
      public Long methodSoapLong(Long in0) throws RemoteException {
  
          if (in0.equals(new Long(3321L))) {
              return new Long(4412L);
          } else {
              throw new RemoteException("Expecting a short value of 3321L");
          }
  
      } // methodSoapLong
  
  } // End class RoundtripTypesTestSoapBindingImpl
  
  
  
  1.1                  xml-axis/java/test/wsdl/roundtrip/StockInvestment.java
  
  Index: StockInvestment.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *    if any, must include the following acknowledgment:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowledgment may appear in the software itself,
   *    if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names "Axis" and "Apache Software Foundation" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache",
   *    nor may "Apache" appear in their name, without prior written
   *    permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   */
  
  package test.wsdl.roundtrip;
  
  import test.wsdl.roundtrip.Investment;
  
  /**
   * The StockInvestment class extends the Investment class so that
   * we can verify that the Java2WSDL tool correctly creates WSDL
   * to allow data members in Investment to be accessed. 
   *
   * @version   1.00  06 Feb 2002
   * @author    Brent Ulbricht
   */
  public class StockInvestment extends Investment implements java.io.Serializable {
  
      public float lastTradePrice;
      private String tradeExchange;
      private float stockBeta;
      private double fiftyTwoWeekHigh;
  
      public StockInvestment() {
  
      } // Constructor
  
      public String getTradeExchange() {
          return tradeExchange;
      } // getTradeExchange
  
      public void setTradeExchange(String tradeExchange) {
          this.tradeExchange = tradeExchange; 
      } // setTradeExchange
  
  } // StockInvestment 
  
  
  

Mime
View raw message