Rich, did you miss some implementations of the new operations in TypeTestBindingImpl?

--G

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Sent: Friday, May 31, 2002 11:17 AM
> To: [EMAIL PROTECTED]
> Subject: cvs commit: xml-axis/java/test/wsdl/types
> ComprehensiveTypes.wsdl VerifyTestCase.java
> 
> 
> scheu       2002/05/31 08:17:11
> 
>   Modified:    java/src/org/apache/axis/wsdl/toJava 
> JavaBeanWriter.java
>                java/test/wsdl/types ComprehensiveTypes.wsdl
>                         VerifyTestCase.java
>   Log:
>   Fix for defect 
> http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9257
>   
>   If a complexType does not have any contained elements or attributes,
>   the fault class generated for the complexType cannot be compiled.
>   
>   Added a simple fix to the JavaBeanWriter to only generate the
>   full constructor if there are actually elements/attributes to
>   pass in.
>   
>   Changed the comprehensive test to add two new complexTypes,
>   emptyFault and emptyComplexType, which have no contained elements
>   or attributes.  This addition validates the processing.
>   
>   Revision  Changes    Path
>   1.15      +28 -27    
> xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java
>   
>   Index: JavaBeanWriter.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaBe
> anWriter.java,v
>   retrieving revision 1.14
>   retrieving revision 1.15
>   diff -u -r1.14 -r1.15
>   --- JavaBeanWriter.java     14 May 2002 23:46:34 -0000      1.14
>   +++ JavaBeanWriter.java     31 May 2002 15:17:10 -0000      1.15
>   @@ -373,37 +373,38 @@
>    
>            
>            // Now write the constructor signature
>   -        pw.println("    public " + className + "(");
>   -        for (int i=0; i<paramTypes.size(); i++) {
>   -            pw.print("           " + paramTypes.elementAt(i) + 
>   -                     " " + paramNames.elementAt(i));
>   -            if ((i+1) < paramTypes.size()) {
>   -                pw.println(","); 
>   -            } else {
>   -                pw.println(") {"); 
>   -            }
>   -        }
>   -
>   -        // Call the extended constructor to set inherited fields
>   -        if (extendType != null) {
>   -            pw.println("        super(");
>   -            for (int j=0; j<localParams; j++) {
>   -                pw.print("            " + paramNames.elementAt(j));
>   -                if ((j+1) < localParams) {
>   +        if (paramTypes.size() > 0) {
>   +            pw.println("    public " + className + "(");
>   +            for (int i=0; i<paramTypes.size(); i++) {
>   +                pw.print("           " + paramTypes.elementAt(i) + 
>   +                         " " + paramNames.elementAt(i));
>   +                if ((i+1) < paramTypes.size()) {
>                        pw.println(","); 
>                    } else {
>   -                    pw.println(");");
>   +                    pw.println(") {"); 
>                    }
>   -            }            
>   +            }
>   +            
>   +            // Call the extended constructor to set 
> inherited fields
>   +            if (extendType != null) {
>   +                pw.println("        super(");
>   +                for (int j=0; j<localParams; j++) {
>   +                    pw.print("            " + 
> paramNames.elementAt(j));
>   +                    if ((j+1) < localParams) {
>   +                        pw.println(","); 
>   +                    } else {
>   +                        pw.println(");");
>   +                    }
>   +                }            
>   +            }
>   +            // Set local fields directly
>   +            for (int j=localParams; j<paramNames.size(); j++) {
>   +                pw.println("        this." + 
> paramNames.elementAt(j) +
>   +                           " = " + paramNames.elementAt(j)+ ";");
>   +            } 
>   +            pw.println("    }");
>   +            pw.println();
>            }
>   -        // Set local fields directly
>   -        for (int j=localParams; j<paramNames.size(); j++) {
>   -            pw.println("        this." + paramNames.elementAt(j) +
>   -                       " = " + paramNames.elementAt(j)+ ";");
>   -        } 
>   -        pw.println("    }");
>   -        pw.println();
>   -
>        }
>    
>        /**
>   
>   
>   
>   1.29      +108 -0    
> xml-axis/java/test/wsdl/types/ComprehensiveTypes.wsdl
>   
>   Index: ComprehensiveTypes.wsdl
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/test/wsdl/types/ComprehensiveTypes.wsdl,v
>   retrieving revision 1.28
>   retrieving revision 1.29
>   diff -u -r1.28 -r1.29
>   --- ComprehensiveTypes.wsdl 26 May 2002 15:31:33 -0000      1.28
>   +++ ComprehensiveTypes.wsdl 31 May 2002 15:17:11 -0000      1.29
>   @@ -133,6 +133,14 @@
>            </xsd:sequence>
>          </xsd:complexType>
>    
>   +      <xsd:complexType name="emptyFault">
>   +        <xsd:sequence />
>   +      </xsd:complexType>
>   +
>   +      <xsd:complexType name="emptyComplexType">
>   +        <xsd:sequence />
>   +      </xsd:complexType>
>   +
>          <xsd:simpleType name="simpleFwd">
>            <xsd:restriction base="typens:simple" />
>          </xsd:simpleType>
>   @@ -602,6 +610,14 @@
>        <part name="cat" type="typens:Cat"/>
>      </message>
>    
>   +  <message name="emptyFault">
>   +    <part name="theFault" type="typens:emptyFault" />
>   +  </message>
>   +
>   +  <message name="emptyComplexType">
>   +    <part name="emptyComplexType" type="typens:emptyComplexType" />
>   +  </message>
>   +
>      <!-- port type declns -->
>      <portType name="TypeTest">
>        <operation name="allPrimitivesIn">
>   @@ -730,6 +746,26 @@
>          <input message="tns:empty"/>
>          <output message="tns:complexWComplex"/>
>        </operation>
>   +    <operation name="emptyComplexTypeIn" 
> parameterOrder="emptyComplexType">
>   +      <input message="tns:emptyComplexType"/>
>   +      <output message="tns:empty"/>
>   +      <fault name="emptyFault" message="tns:emptyFault"/>
>   +    </operation>
>   +    <operation name="emptyComplexTypeInout" 
> parameterOrder="emptyComplexType">
>   +      <input message="tns:emptyComplexType"/>
>   +      <output message="tns:emptyComplexType"/>
>   +      <fault name="emptyFault" message="tns:emptyFault"/>
>   +    </operation>
>   +    <operation name="emptyComplexTypeOut" 
> parameterOrder="emptyComplexType">
>   +      <input message="tns:empty"/>
>   +      <output message="tns:emptyComplexType"/>
>   +      <fault name="emptyFault" message="tns:emptyFault"/>
>   +    </operation>
>   +    <operation name="emptyComplexTypeReturn">
>   +      <input message="tns:empty"/>
>   +      <output message="tns:emptyComplexType"/>
>   +      <fault name="emptyFault" message="tns:emptyFault"/>
>   +    </operation>
>        <operation name="anyIn">
>          <input message="tns:any"/>
>          <output message="tns:empty"/>
>   @@ -1345,6 +1381,78 @@
>                namespace=""
>                
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>          </output>
>   +    </operation>
>   +    <operation name="emptyComplexTypeIn">
>   +      <soap:operation soapAction=""/>
>   +      <input>
>   +        <soap:body
>   +            use="encoded"
>   +            namespace=""
>   +            
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>   +      </input>
>   +      <output>
>   +        <soap:body
>   +            use="encoded"
>   +            namespace=""
>   +            
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>   +      </output>
>   +      <fault>
>   +        <soap:fault name="emptyFault" use="encoded"/>
>   +      </fault>
>   +    </operation>
>   +    <operation name="emptyComplexTypeInout">
>   +      <soap:operation soapAction=""/>
>   +      <input>
>   +        <soap:body
>   +            use="encoded"
>   +            namespace=""
>   +            
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>   +      </input>
>   +      <output>
>   +        <soap:body
>   +            use="encoded"
>   +            namespace=""
>   +            
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>   +      </output>
>   +      <fault>
>   +        <soap:fault name="emptyFault" use="encoded"/>
>   +      </fault>
>   +    </operation>
>   +    <operation name="emptyComplexTypeOut">
>   +      <soap:operation soapAction=""/>
>   +      <input>
>   +        <soap:body
>   +            use="encoded"
>   +            namespace=""
>   +            
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>   +      </input>
>   +      <output>
>   +        <soap:body
>   +            use="encoded"
>   +            namespace=""
>   +            
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>   +      </output>
>   +      <fault>
>   +        <soap:fault name="emptyFault" use="encoded"/>
>   +      </fault>
>   +    </operation>
>   +    <operation name="emptyComplexTypeReturn">
>   +      <soap:operation soapAction=""/>
>   +      <input>
>   +        <soap:body
>   +            use="encoded"
>   +            namespace=""
>   +            
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>   +      </input>
>   +      <output>
>   +        <soap:body
>   +            use="encoded"
>   +            namespace=""
>   +            
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>   +      </output>
>   +      <fault>
>   +        <soap:fault name="emptyFault" use="encoded"/>
>   +      </fault>
>        </operation>
>        <operation name="anyIn">
>          <soap:operation soapAction=""/>
>   
>   
>   
>   1.24      +27 -0     
> xml-axis/java/test/wsdl/types/VerifyTestCase.java
>   
>   Index: VerifyTestCase.java
>   ===================================================================
>   RCS file: 
> /home/cvs/xml-axis/java/test/wsdl/types/VerifyTestCase.java,v
>   retrieving revision 1.23
>   retrieving revision 1.24
>   diff -u -r1.23 -r1.24
>   --- VerifyTestCase.java     30 May 2002 23:46:04 -0000      1.23
>   +++ VerifyTestCase.java     31 May 2002 15:17:11 -0000      1.24
>   @@ -50,6 +50,9 @@
>    import test.wsdl.types.comprehensive_types.ComplexWComplexHolder;
>    import test.wsdl.types.comprehensive_types.ElemWComplex;
>    import test.wsdl.types.comprehensive_types.ElemWComplexHolder;
>   +import test.wsdl.types.comprehensive_types.EmptyComplexType;
>   +import test.wsdl.types.comprehensive_types.EmptyComplexTypeHolder;
>   +import test.wsdl.types.comprehensive_types.EmptyFault;
>    import test.wsdl.types.comprehensive_types.Enum;
>    import test.wsdl.types.comprehensive_types.EnumHolder;
>    import test.wsdl.types.comprehensive_types.EnumByte;
>   @@ -363,6 +366,30 @@
>            try {
>                ComplexWComplex value = null;
>                value = binding.complexWComplexReturn();
>   +        } catch (java.rmi.RemoteException re) {
>   +            throw new 
> junit.framework.AssertionFailedError("Remote Exception 
> caught: " + re );
>   +        }
>   +        try {
>   +            EmptyComplexType value = new EmptyComplexType();
>   +            binding.emptyComplexTypeIn(value);
>   +        } catch (java.rmi.RemoteException re) {
>   +            throw new 
> junit.framework.AssertionFailedError("Remote Exception 
> caught: " + re );
>   +        }
>   +        try {
>   +            EmptyComplexTypeHolder value = new 
> EmptyComplexTypeHolder( new EmptyComplexType());
>   +            binding.emptyComplexTypeInout(value);
>   +        } catch (java.rmi.RemoteException re) {
>   +            throw new 
> junit.framework.AssertionFailedError("Remote Exception 
> caught: " + re );
>   +        }
>   +        try {
>   +            EmptyComplexTypeHolder value = new 
> EmptyComplexTypeHolder();
>   +            binding.emptyComplexTypeOut(value);
>   +        } catch (java.rmi.RemoteException re) {
>   +            throw new 
> junit.framework.AssertionFailedError("Remote Exception 
> caught: " + re );
>   +        }
>   +        try {
>   +            EmptyComplexType value = null;
>   +            value = binding.emptyComplexTypeReturn();
>            } catch (java.rmi.RemoteException re) {
>                throw new 
> junit.framework.AssertionFailedError("Remote Exception 
> caught: " + re );
>            }
>   
>   
>   
> 

Reply via email to