You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2005/04/29 17:35:17 UTC

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

dims        2005/04/29 08:35:16

  Modified:    java/test/wsdl/echo2 Echo2PT.java Echo2ServiceTestCase.java
                        Echo2SoapBindingImpl.java MyBase64Bean.java
                        build.xml deploy.wsdd echo2.wsdl
  Log:
  additional tests from guillaume
  
  Revision  Changes    Path
  1.2       +1 -0      ws-axis/java/test/wsdl/echo2/Echo2PT.java
  
  Index: Echo2PT.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/echo2/Echo2PT.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Echo2PT.java	17 Apr 2005 02:25:53 -0000	1.1
  +++ Echo2PT.java	29 Apr 2005 15:35:16 -0000	1.2
  @@ -12,4 +12,5 @@
       public test.wsdl.echo2.MyBase64Bean[] echoArrayOfMyBase64Bean(test.wsdl.echo2.MyBase64Bean[] input) throws java.rmi.RemoteException;
       public java.lang.String[] echoArrayOfString_MaxOccursUnbounded(java.lang.String[] input) throws java.rmi.RemoteException;
       public java.lang.String[] echoArrayOfString_SoapEncArray(java.lang.String[] input) throws java.rmi.RemoteException;
  +    public Base64Type echoBase64Type(Base64Type input) throws java.rmi.RemoteException;
   }
  
  
  
  1.4       +39 -21    ws-axis/java/test/wsdl/echo2/Echo2ServiceTestCase.java
  
  Index: Echo2ServiceTestCase.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/echo2/Echo2ServiceTestCase.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Echo2ServiceTestCase.java	22 Apr 2005 15:14:44 -0000	1.3
  +++ Echo2ServiceTestCase.java	29 Apr 2005 15:35:16 -0000	1.4
  @@ -6,16 +6,12 @@
    */
   package test.wsdl.echo2;
   
  +import java.util.Iterator;
   import javax.xml.namespace.QName;
  -import org.apache.axis.client.Call;
  -import org.apache.axis.client.Service;
  -import org.apache.axis.encoding.ser.BeanDeserializerFactory;
  -import org.apache.axis.encoding.ser.BeanSerializerFactory;
  -import org.apache.axis.message.SOAPBody;
  +import org.apache.axis.MessageContext;
   import org.apache.axis.message.MessageElement;
  -
  -import java.util.List;
  -import java.util.Iterator;
  +import org.apache.axis.message.PrefixedQName;
  +import org.apache.axis.message.SOAPBody;
   
   public class Echo2ServiceTestCase extends junit.framework.TestCase {
       public Echo2ServiceTestCase(java.lang.String name) {
  @@ -40,25 +36,46 @@
           assertNotNull("binding is null", binding);
           // Time out after a minute
           binding.setTimeout(60000);
  -        /*
  -        call.registerTypeMapping(
  -                MyBase64Bean.class,
  -                new QName("urn:echo2.wsdl.test", "MyBase64Bean"),
  -                new BeanSerializerFactory(MyBase64Bean.class, new QName(
  -                        "urn:echo2.wsdl.test", "MyBase64Bean")),
  -                new BeanDeserializerFactory(MyBase64Bean.class, new QName(
  -                        "urn:echo2.wsdl.test", "MyBase64Bean")));
  -*/
  -        // was causing serialization problem : cannot serializer for type MyBase64Bean ?!
  -        //call.setClientHandlers(new ValidateSerializationHandler(), null);
   
           // message is more clear without multiref
  -        binding._setProperty("sendMultiRefs", Boolean.FALSE);
  +        //binding._setProperty("sendMultiRefs", Boolean.FALSE);
           // Test operation
           test.wsdl.echo2.MyBase64Bean input = new test.wsdl.echo2.MyBase64Bean();
           fillMyBase64Bean(input);
           test.wsdl.echo2.MyBase64Bean ret = binding.echoMyBase64Bean(input);
  -        // TBD - validate results
  +
  +    }
  +
  +    public void test1Echo2EchoBase64Type() throws Exception {
  +        test.wsdl.echo2.Echo2SoapBindingStub binding;
  +        binding = (test.wsdl.echo2.Echo2SoapBindingStub) new test.wsdl.echo2.Echo2ServiceLocator()
  +                .getEcho2();
  +        assertNotNull("binding is null", binding);
  +        // Time out after a minute
  +        binding.setTimeout(60000);
  +
  +        // message is more clear without multiref
  +        //binding._setProperty("sendMultiRefs", Boolean.FALSE);
  +        // Test operation
  +        Base64Type input = new Base64Type(new byte[] {-127, 0, 127});
  +        //byte[] input = new byte[] {-127, 0, 127};
  +        Base64Type ret = binding.echoBase64Type(input);
  +
  +        binding._getCall().getResponseMessage().writeTo(System.out);
  +        // Check message format
  +        SOAPBody body = (SOAPBody) binding._getCall().getResponseMessage().getSOAPBody();
  +
  +        // Body
  +        //  echoBase64TypeResponse
  +        //   return HREF
  +        //  multiRef : 1 element, no child
  +
  +        MessageElement element = body.getChildElement(new QName("", "multiRef"));
  +        assertNotNull("no multiRef found", element);
  +        MessageElement base64 = element.getChildElement(new QName("", "varXsdBase64Binary"));
  +        assertNotNull("no varXsdBase64Binary found", base64);
  +        assertNotNull("<varXsdBase64Binary> must have 1 and only 1 TextNode subelement", base64.getChildren());
  +        assertEquals("<varXsdBase64Binary> should have only 1 children : the TextNode", 1, base64.getChildren().size());
       }
   
       public void test1Echo2EchoArrayOfMyBase64Bean() throws Exception {
  @@ -114,6 +131,7 @@
           // Validate results - NOTE: This checks the XML directly, so if
           // any changes are made to the WSDL/code for this test, equivalent
           // changes must be made in this code.
  +
           SOAPBody body = (SOAPBody)binding._getCall().getResponseMessage().getSOAPBody();
           MessageElement element;
           QName responseQName = new QName("urn:echo2.wsdl.test", "echoArrayOfString_MaxOccursUnboundedResponse");
  
  
  
  1.2       +5 -0      ws-axis/java/test/wsdl/echo2/Echo2SoapBindingImpl.java
  
  Index: Echo2SoapBindingImpl.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/echo2/Echo2SoapBindingImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Echo2SoapBindingImpl.java	17 Apr 2005 02:25:53 -0000	1.1
  +++ Echo2SoapBindingImpl.java	29 Apr 2005 15:35:16 -0000	1.2
  @@ -7,6 +7,8 @@
   
   package test.wsdl.echo2;
   
  +import java.rmi.RemoteException;
  +
   public class Echo2SoapBindingImpl implements test.wsdl.echo2.Echo2PT{
       public test.wsdl.echo2.MyBase64Bean echoMyBase64Bean(test.wsdl.echo2.MyBase64Bean input) throws java.rmi.RemoteException {
           return input;
  @@ -22,5 +24,8 @@
       public java.lang.String[] echoArrayOfString_SoapEncArray(java.lang.String[] input) throws java.rmi.RemoteException {
           return input;
       }
  +    public Base64Type echoBase64Type(Base64Type input) throws RemoteException {
  +        return input;
  +    }
   
   }
  
  
  
  1.2       +44 -25    ws-axis/java/test/wsdl/echo2/MyBase64Bean.java
  
  Index: MyBase64Bean.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/echo2/MyBase64Bean.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MyBase64Bean.java	17 Apr 2005 02:25:53 -0000	1.1
  +++ MyBase64Bean.java	29 Apr 2005 15:35:16 -0000	1.2
  @@ -36,7 +36,7 @@
   
       /**
        * Gets the varXsdByte value for this MyBase64Bean.
  -     * 
  +     *
        * @return varXsdByte
        */
       public java.lang.Byte getVarXsdByte() {
  @@ -46,7 +46,7 @@
   
       /**
        * Sets the varXsdByte value for this MyBase64Bean.
  -     * 
  +     *
        * @param varXsdByte
        */
       public void setVarXsdByte(java.lang.Byte varXsdByte) {
  @@ -56,7 +56,7 @@
   
       /**
        * Gets the varSoapByte value for this MyBase64Bean.
  -     * 
  +     *
        * @return varSoapByte
        */
       public java.lang.Byte getVarSoapByte() {
  @@ -66,7 +66,7 @@
   
       /**
        * Sets the varSoapByte value for this MyBase64Bean.
  -     * 
  +     *
        * @param varSoapByte
        */
       public void setVarSoapByte(java.lang.Byte varSoapByte) {
  @@ -76,7 +76,7 @@
   
       /**
        * Gets the varXsdBase64Binary value for this MyBase64Bean.
  -     * 
  +     *
        * @return varXsdBase64Binary
        */
       public byte[] getVarXsdBase64Binary() {
  @@ -86,7 +86,7 @@
   
       /**
        * Sets the varXsdBase64Binary value for this MyBase64Bean.
  -     * 
  +     *
        * @param varXsdBase64Binary
        */
       public void setVarXsdBase64Binary(byte[] varXsdBase64Binary) {
  @@ -96,7 +96,7 @@
   
       /**
        * Gets the varSoapBase64Binary value for this MyBase64Bean.
  -     * 
  +     *
        * @return varSoapBase64Binary
        */
       public byte[] getVarSoapBase64Binary() {
  @@ -106,7 +106,7 @@
   
       /**
        * Sets the varSoapBase64Binary value for this MyBase64Bean.
  -     * 
  +     *
        * @param varSoapBase64Binary
        */
       public void setVarSoapBase64Binary(byte[] varSoapBase64Binary) {
  @@ -116,7 +116,7 @@
   
       /**
        * Gets the varXsdHexBinary value for this MyBase64Bean.
  -     * 
  +     *
        * @return varXsdHexBinary
        */
       public byte[] getVarXsdHexBinary() {
  @@ -126,7 +126,7 @@
   
       /**
        * Sets the varXsdHexBinary value for this MyBase64Bean.
  -     * 
  +     *
        * @param varXsdHexBinary
        */
       public void setVarXsdHexBinary(byte[] varXsdHexBinary) {
  @@ -136,7 +136,7 @@
   
       /**
        * Gets the varSoapBase64 value for this MyBase64Bean.
  -     * 
  +     *
        * @return varSoapBase64
        */
       public byte[] getVarSoapBase64() {
  @@ -146,7 +146,26 @@
   
       /**
        * Sets the varSoapBase64 value for this MyBase64Bean.
  -     * 
  +     *
  +     * @param varSoapBase64
  +     */
  +    public void setVarSoapBase64(int i, byte varSoapBase64) {
  +        this.varSoapBase64[i] = varSoapBase64;
  +    }
  +
  +    /**
  +     * Gets the varSoapBase64 value for this MyBase64Bean.
  +     *
  +     * @return varSoapBase64
  +     */
  +    public byte getVarSoapBase64(int i) {
  +        return varSoapBase64[i];
  +    }
  +
  +
  +    /**
  +     * Sets the varSoapBase64 value for this MyBase64Bean.
  +     *
        * @param varSoapBase64
        */
       public void setVarSoapBase64(byte[] varSoapBase64) {
  @@ -164,23 +183,23 @@
           }
           __equalsCalc = obj;
           boolean _equals;
  -        _equals = true && 
  -            ((this.varXsdByte==null && other.getVarXsdByte()==null) || 
  +        _equals = true &&
  +            ((this.varXsdByte==null && other.getVarXsdByte()==null) ||
                (this.varXsdByte!=null &&
                 this.varXsdByte.equals(other.getVarXsdByte()))) &&
  -            ((this.varSoapByte==null && other.getVarSoapByte()==null) || 
  +            ((this.varSoapByte==null && other.getVarSoapByte()==null) ||
                (this.varSoapByte!=null &&
                 this.varSoapByte.equals(other.getVarSoapByte()))) &&
  -            ((this.varXsdBase64Binary==null && other.getVarXsdBase64Binary()==null) || 
  +            ((this.varXsdBase64Binary==null && other.getVarXsdBase64Binary()==null) ||
                (this.varXsdBase64Binary!=null &&
                 java.util.Arrays.equals(this.varXsdBase64Binary, other.getVarXsdBase64Binary()))) &&
  -            ((this.varSoapBase64Binary==null && other.getVarSoapBase64Binary()==null) || 
  +            ((this.varSoapBase64Binary==null && other.getVarSoapBase64Binary()==null) ||
                (this.varSoapBase64Binary!=null &&
                 java.util.Arrays.equals(this.varSoapBase64Binary, other.getVarSoapBase64Binary()))) &&
  -            ((this.varXsdHexBinary==null && other.getVarXsdHexBinary()==null) || 
  +            ((this.varXsdHexBinary==null && other.getVarXsdHexBinary()==null) ||
                (this.varXsdHexBinary!=null &&
                 java.util.Arrays.equals(this.varXsdHexBinary, other.getVarXsdHexBinary()))) &&
  -            ((this.varSoapBase64==null && other.getVarSoapBase64()==null) || 
  +            ((this.varSoapBase64==null && other.getVarSoapBase64()==null) ||
                (this.varSoapBase64!=null &&
                 java.util.Arrays.equals(this.varSoapBase64, other.getVarSoapBase64())));
           __equalsCalc = null;
  @@ -303,10 +322,10 @@
        * Get Custom Serializer
        */
       public static org.apache.axis.encoding.Serializer getSerializer(
  -           java.lang.String mechType, 
  -           java.lang.Class _javaType,  
  +           java.lang.String mechType,
  +           java.lang.Class _javaType,
              javax.xml.namespace.QName _xmlType) {
  -        return 
  +        return
             new  org.apache.axis.encoding.ser.BeanSerializer(
               _javaType, _xmlType, typeDesc);
       }
  @@ -315,10 +334,10 @@
        * Get Custom Deserializer
        */
       public static org.apache.axis.encoding.Deserializer getDeserializer(
  -           java.lang.String mechType, 
  -           java.lang.Class _javaType,  
  +           java.lang.String mechType,
  +           java.lang.Class _javaType,
              javax.xml.namespace.QName _xmlType) {
  -        return 
  +        return
             new  org.apache.axis.encoding.ser.BeanDeserializer(
               _javaType, _xmlType, typeDesc);
       }
  
  
  
  1.2       +1 -1      ws-axis/java/test/wsdl/echo2/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/echo2/build.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- build.xml	17 Apr 2005 02:25:53 -0000	1.1
  +++ build.xml	29 Apr 2005 15:35:16 -0000	1.2
  @@ -67,7 +67,7 @@
           <include name="*TestCase.java" />
           <include name="*Impl.java" />
           <include name="*Handler.java" />
  -        <include name="*MyBase64Bean.java" />
  +        <include name="*Base64*.java" />
         </fileset>
       </copy>
   
  
  
  
  1.2       +13 -1     ws-axis/java/test/wsdl/echo2/deploy.wsdd
  
  Index: deploy.wsdd
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/echo2/deploy.wsdd,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- deploy.wsdd	17 Apr 2005 02:25:53 -0000	1.1
  +++ deploy.wsdd	29 Apr 2005 15:35:16 -0000	1.2
  @@ -19,6 +19,7 @@
         <parameter name="className" value="test.wsdl.echo2.Echo2SoapBindingImpl"/>
         <parameter name="wsdlPortType" value="Echo2PT"/>
         <parameter name="typeMappingVersion" value="1.3"/>
  +      <parameter name="sendMultiRefs" value="false"/>
   
         <operation name="echoMyBase64Bean" qname="operNS:echoMyBase64Bean" xmlns:operNS="urn:echo2.wsdl.test" returnQName="return" returnType="rtns:MyBase64Bean" xmlns:rtns="urn:echo2.wsdl.test" soapAction="" >
           <parameter qname="input" type="tns:MyBase64Bean" xmlns:tns="urn:echo2.wsdl.test"/>
  @@ -29,7 +30,10 @@
         <operation name="echoArrayOfString_SoapEncArray" qname="operNS:echoArrayOfString_SoapEncArray" xmlns:operNS="urn:echo2.wsdl.test" returnQName="return" returnType="rtns:ArrayOfString_SoapEncArray" xmlns:rtns="urn:echo2.wsdl.test" soapAction="" >
           <parameter qname="input" type="tns:ArrayOfString_SoapEncArray" xmlns:tns="urn:echo2.wsdl.test"/>
         </operation>
  -      <parameter name="allowedMethods" value="echoArrayOfString_SoapEncArray echoArrayOfString_MaxOccursUnbounded echoMyBase64Bean"/>
  +      <operation name="echoBase64Type" qname="operNS:echoBase64Type" xmlns:operNS="urn:echo2.wsdl.test" returnQName="return" returnType="xsd:base64Binary" soapAction="" >
  +        <parameter qname="input" type="xsd:base64Binary"/>
  +      </operation>
  +      <parameter name="allowedMethods" value="echoArrayOfString_SoapEncArray echoArrayOfString_MaxOccursUnbounded echoMyBase64Bean echoBase64Type"/>
   
         <typeMapping
           xmlns:ns="urn:echo2.wsdl.test"
  @@ -39,5 +43,13 @@
           deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
           encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
         />
  +      <typeMapping
  +        xmlns:ns="urn:echo2.wsdl.test"
  +        qname="ns:Base64Type"
  +        type="java:test.wsdl.echo2.Base64Type"
  +        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
  +        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
  +        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +      />
     </service>
   </deployment>
  
  
  
  1.2       +29 -0     ws-axis/java/test/wsdl/echo2/echo2.wsdl
  
  Index: echo2.wsdl
  ===================================================================
  RCS file: /home/cvs/ws-axis/java/test/wsdl/echo2/echo2.wsdl,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- echo2.wsdl	17 Apr 2005 02:25:53 -0000	1.1
  +++ echo2.wsdl	29 Apr 2005 15:35:16 -0000	1.2
  @@ -38,6 +38,11 @@
   					<element name="varMyBase64Bean" nillable="true" maxOccurs="unbounded" type="tns:MyBase64Bean" />
   				</sequence>
   			</complexType>
  +			<complexType name="Base64Type">
  +				<sequence>
  +					<element name="varXsdBase64Binary" nillable="true" type="xsd:base64Binary" />
  +				</sequence>
  +			</complexType>
   		</schema>
   	</wsdl:types>
   
  @@ -69,6 +74,13 @@
   		<wsdl:part type="tns:ArrayOfString_SoapEncArray" name="return" />
   	</wsdl:message>
   
  +	<wsdl:message name="echoBase64TypeRequest">
  +		<wsdl:part type="tns:Base64Type" name="input" />
  +	</wsdl:message>
  +	<wsdl:message name="echoBase64TypeResponse">
  +		<wsdl:part type="tns:Base64Type" name="return" />
  +	</wsdl:message>
  +
   	<wsdl:portType name="Echo2PT">
   		<wsdl:operation name="echoMyBase64Bean">
   			<wsdl:input message="tns:echoMyBase64BeanRequest" name="echoMyBase64BeanRequest" />
  @@ -86,6 +98,10 @@
        		<wsdl:input message="tns:echoArrayOfString_SoapEncArrayRequest" name="echoArrayOfString_SoapEncArrayRequest" />
   			<wsdl:output message="tns:echoArrayOfString_SoapEncArrayResponse" name="echoArrayOfString_SoapEncArrayResponse" />
   		</wsdl:operation>
  +		<wsdl:operation name="echoBase64Type">
  +			<wsdl:input message="tns:echoBase64TypeRequest" name="echoBase64TypeRequest" />
  +			<wsdl:output message="tns:echoBase64TypeResponse" name="echoBase64TypeResponse" />
  +		</wsdl:operation>
   	</wsdl:portType>
   
   	<wsdl:binding name="Echo2SoapBinding" type="tns:Echo2PT">
  @@ -142,6 +158,19 @@
   					namespace="urn:echo2.wsdl.test" use="encoded" />
   			</wsdl:output>
   		</wsdl:operation>
  +		<wsdl:operation name="echoBase64Type">
  +			<wsdlsoap:operation soapAction="" />
  +			<wsdl:input name="echoBase64TypeRequest">
  +				<wsdlsoap:body
  +					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +					namespace="urn:echo2.wsdl.test" use="encoded" />
  +			</wsdl:input>
  +			<wsdl:output name="echoBase64TypeResponse">
  +				<wsdlsoap:body
  +					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  +					namespace="urn:echo2.wsdl.test" use="encoded" />
  +			</wsdl:output>
  +		</wsdl:operation>
   	</wsdl:binding>
   	<wsdl:service name="Echo2Service">
   		<wsdl:port binding="tns:Echo2SoapBinding" name="Echo2">