>                            isOmittable = element.isMinOccursZero();
>   -                        isNillable = element.isNillable();
>                            xmlType = element.getXmlType();

Well, now this doesn't see quite right.  You are removing the setting of
nillable, which is bound to break something.

Is there code that performs this function somewhere else?


--
Tom Jordahl
Macromedia Server Development

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Sunday, February 06, 2005 12:12 PM
> To: [EMAIL PROTECTED]
> Subject: cvs commit: ws-axis/java/test/wsdl/marshall build.xml
> marshall.wsdl MarshallBindingImpl.java MarshallTestCase.java
> 
> dims        2005/02/06 09:12:26
> 
>   Modified:    java/src/org/apache/axis/encoding/ser BeanSerializer.java
>   Added:       java/test/wsdl/marshall build.xml marshall.wsdl
>                         MarshallBindingImpl.java MarshallTestCase.java
>   Log:
>   Prevent errors like this one from the test case:
>   java.io.IOException: Non nillable element 'myBigDecimal' is null.
> 
>   Patch from jonas team (" isNillable value depends only on the field
> type")
> 
>   Revision  Changes    Path
>   1.81      +0 -1      ws-
> axis/java/src/org/apache/axis/encoding/ser/BeanSerializer.java
> 
>   Index: BeanSerializer.java
>   ===================================================================
>   RCS file: /home/cvs/ws-
> axis/java/src/org/apache/axis/encoding/ser/BeanSerializer.java,v
>   retrieving revision 1.80
>   retrieving revision 1.81
>   diff -u -r1.80 -r1.81
>   --- BeanSerializer.java     11 Jan 2005 23:35:48 -0000      1.80
>   +++ BeanSerializer.java     6 Feb 2005 17:12:25 -0000       1.81
>   @@ -150,7 +150,6 @@
>                                qname = element.getXmlName();
>                            }
>                            isOmittable = element.isMinOccursZero();
>   -                        isNillable = element.isNillable();
>                            xmlType = element.getXmlType();
>                        }
>                    }
> 
> 
> 
>   1.1                  ws-axis/java/test/wsdl/marshall/build.xml
> 
>   Index: build.xml
>   ===================================================================
>   <?xml version="1.0" ?>
>   <!DOCTYPE project [
>           <!ENTITY properties SYSTEM "file:../../../xmls/properties.xml">
>           <!ENTITY paths  SYSTEM "file:../../../xmls/path_refs.xml">
>           <!ENTITY taskdefs SYSTEM "file:../../../xmls/taskdefs.xml">
>           <!ENTITY taskdefs_post_compile SYSTEM
> "file:../../../xmls/taskdefs_post_compile.xml">
>           <!ENTITY targets SYSTEM "file:../../../xmls/targets.xml">
>   ]>
> 
>   <!-- ===================================================================
>   <description>
>      Test/Sample Component file for Axis
> 
>   Notes:
>      This is a build file for use with the Jakarta Ant build tool.
> 
>   Prerequisites:
> 
>      jakarta-ant from http://jakarta.apache.org
> 
>   Build Instructions:
>      To compile
>           ant compile
>      To execute
>           ant run
> 
>   Author:
>     Matt Seibert [EMAIL PROTECTED]
> 
>   Copyright:
>     Copyright (c) 2002-2003 Apache Software Foundation.
>   </description>
>   ==================================================================== -->
> 
>   <project default="compile">
> 
>   <property name="axis.home" location="../../.." />
>   <property name="componentName" value="test/wsdl/marshall" />
>           &properties;
>           &paths;
>           &taskdefs;
>           &taskdefs_post_compile;
>           &targets;
> 
>   <target name="clean">
>       <echo message="Removing ${build.dir}/classes/${componentName} and
> ${build.dir}/work/${componentName}" />
>       <delete dir="${build.dir}/classes/${componentName}"/>
>       <delete dir="${build.dir}/work/${componentName}"/>
>   </target>
> 
>   <target name="copy" depends="setenv"/>
> 
>   <target name="compile" depends="copy">
>     <echo message="Compiling test.wsdl.marshall"/>
>       <!-- marshall Sample Test -->
>       <wsdl2java url="${axis.home}/test/wsdl/marshall/marshall.wsdl"
>                  output="${axis.home}/build/work"
>                  deployscope="session"
>                  serverSide="yes"
>                  typeMappingVersion="1.3"
>                  testcase="yes">
>       </wsdl2java>
> 
>       <copy todir="${build.dir}/work/test/wsdl/marshall" overwrite="yes">
>         <fileset dir="${axis.home}/test/wsdl/marshall">
>           <include name="*TestCase.java"/>
>           <include name="*Impl.java"/>
>         </fileset>
>       </copy>
> 
>       <javac srcdir="${build.dir}/work" destdir="${build.dest}"
> nowarn="${nowarn}" source="${source}" fork="${javac.fork}"
>              debug="${debug}">
>         <classpath refid="classpath" />
>         <include name="test/wsdl/marshall/*.java" />
>       </javac>
> 
>   </target>
> 
>   <target name="run" >
>     <antcall target="execute-Component" />
>   </target>
> 
>   </project>
> 
> 
> 
>   1.1                  ws-axis/java/test/wsdl/marshall/marshall.wsdl
> 
>   Index: marshall.wsdl
>   ===================================================================
>   <wsdl:definitions xmlns:apachesoap="http://xml.apache.org/xml-soap";
>                     xmlns:impl="http://marshall.wsdl.test";
>                     xmlns:intf="http://marshall.wsdl.test";
> 
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
>                     xmlns:tns1="http://marshall.wsdl.test/types";
>                     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>                     xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
>                     xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>                     targetNamespace="http://marshall.wsdl.test";>
>       <wsdl:types>
>           <schema targetNamespace="http://marshall.wsdl.test/types";
> xmlns="http://www.w3.org/2001/XMLSchema";>
>               <import
> namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
>               <complexType name="MyBean">
>                   <sequence>
>                       <element name="myBigDecimal" type="xsd:decimal"/>
>                       <element name="myBigDecimalArray"
> type="xsd:decimal"/>
>                       <element name="myBigInteger" type="xsd:integer"/>
>                       <element name="myBigIntegerArray"
> type="xsd:integer"/>
>                   </sequence>
>               </complexType>
>               <complexType name="ArrayOfMyBean">
>                   <complexContent>
>                       <restriction base="soapenc:Array">
>                           <attribute ref="soapenc:arrayType"
> wsdl:arrayType="tns1:MyBean[]"/>
>                       </restriction>
>                   </complexContent>
>               </complexType>
>               <complexType name="ArrayOfArrayOfMyBean">
>                   <complexContent>
>                       <restriction base="soapenc:Array">
>                           <attribute ref="soapenc:arrayType"
> wsdl:arrayType="tns1:MyBean[][]"/>
>                       </restriction>
>                   </complexContent>
>               </complexType>
>           </schema>
>       </wsdl:types>
>       <wsdl:message name="MyBeanMultiArrayRequest">
>           <wsdl:part name="arrayOfarrayOfMyBean_1"
> type="tns1:ArrayOfArrayOfMyBean"/>
>       </wsdl:message>
>       <wsdl:message name="MyBeanMultiArrayResponse">
>           <wsdl:part name="result" type="tns1:ArrayOfArrayOfMyBean"/>
>       </wsdl:message>
>       <wsdl:message name="MyBeanResponse">
>           <wsdl:part name="result" type="tns1:MyBean"/>
>       </wsdl:message>
>       <wsdl:message name="MyBeanArrayResponse">
>           <wsdl:part name="result" type="tns1:ArrayOfMyBean"/>
>       </wsdl:message>
>       <wsdl:message name="MyBeanRequest">
>           <wsdl:part name="MyBean_1" type="tns1:MyBean"/>
>       </wsdl:message>
>       <wsdl:message name="MyBeanArrayRequest">
>           <wsdl:part name="arrayOfMyBean_1" type="tns1:ArrayOfMyBean"/>
>       </wsdl:message>
>       <wsdl:portType name="MarshallPortType">
>           <wsdl:operation name="MyBeanArray"
> parameterOrder="arrayOfMyBean_1">
>               <wsdl:input name="MyBeanArrayRequest"
> message="impl:MyBeanArrayRequest"/>
>               <wsdl:output name="MyBeanArrayResponse"
> message="impl:MyBeanArrayResponse"/>
>           </wsdl:operation>
>           <wsdl:operation name="MyBeanMultiArray"
> parameterOrder="arrayOfarrayOfMyBean_1">
>               <wsdl:input name="MyBeanMultiArrayRequest"
> message="impl:MyBeanMultiArrayRequest"/>
>               <wsdl:output name="MyBeanMultiArrayResponse"
> message="impl:MyBeanMultiArrayResponse"/>
>           </wsdl:operation>
>           <wsdl:operation name="MyBean" parameterOrder="MyBean_1">
>               <wsdl:input name="MyBeanRequest"
> message="impl:MyBeanRequest"/>
>               <wsdl:output name="MyBeanResponse"
> message="impl:MyBeanResponse"/>
>           </wsdl:operation>
>       </wsdl:portType>
>       <wsdl:binding name="MarshallBinding" type="impl:MarshallPortType">
>           <wsdlsoap:binding style="rpc"
> transport="http://schemas.xmlsoap.org/soap/http"/>
>           <wsdl:operation name="MyBeanArray">
>               <wsdlsoap:operation/>
>               <wsdl:input>
>                   <wsdlsoap:body use="encoded"
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> namespace="http://marshall.wsdl.test"/>
>               </wsdl:input>
>               <wsdl:output>
>                   <wsdlsoap:body use="encoded"
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> namespace="http://marshall.wsdl.test"/>
>               </wsdl:output>
>           </wsdl:operation>
>           <wsdl:operation name="MyBeanMultiArray">
>               <wsdlsoap:operation/>
>               <wsdl:input>
>                   <wsdlsoap:body use="encoded"
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> namespace="http://marshall.wsdl.test"/>
>               </wsdl:input>
>               <wsdl:output>
>                   <wsdlsoap:body use="encoded"
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> namespace="http://marshall.wsdl.test"/>
>               </wsdl:output>
>           </wsdl:operation>
>           <wsdl:operation name="MyBean">
>               <wsdlsoap:operation/>
>               <wsdl:input>
>                   <wsdlsoap:body use="encoded"
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> namespace="http://marshall.wsdl.test"/>
>               </wsdl:input>
>               <wsdl:output>
>                   <wsdlsoap:body use="encoded"
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> namespace="http://marshall.wsdl.test"/>
>               </wsdl:output>
>           </wsdl:operation>
>       </wsdl:binding>
>       <wsdl:service name="Marshall">
>           <wsdl:port name="MarshallPort" binding="impl:MarshallBinding">
>               <wsdlsoap:address
> location="http://localhost:8080/axis/services/MarshallPort"/>
>           </wsdl:port>
>       </wsdl:service>
>   </wsdl:definitions>
> 
> 
> 
>   1.1                  ws-
> axis/java/test/wsdl/marshall/MarshallBindingImpl.java
> 
>   Index: MarshallBindingImpl.java
>   ===================================================================
>   /**
>    * MarshallBindingImpl.java
>    *
>    * This file was auto-generated from WSDL
>    * by the Apache Axis 1.2RC2 Feb 06, 2005 (12:14:42 EST) WSDL2Java
> emitter.
>    */
> 
>   package test.wsdl.marshall;
> 
>   public class MarshallBindingImpl implements
> test.wsdl.marshall.MarshallPortType{
>       public test.wsdl.marshall.types.MyBean[]
> myBeanArray(test.wsdl.marshall.types.MyBean[] arrayOfMyBean_1) throws
> java.rmi.RemoteException {
>           return null;
>       }
> 
>       public test.wsdl.marshall.types.MyBean[][]
> myBeanMultiArray(test.wsdl.marshall.types.MyBean[][]
> arrayOfarrayOfMyBean_1) throws java.rmi.RemoteException {
>           return null;
>       }
> 
>       public test.wsdl.marshall.types.MyBean
> myBean(test.wsdl.marshall.types.MyBean myBean_1) throws
> java.rmi.RemoteException {
>           return null;
>       }
> 
>   }
> 
> 
> 
>   1.1                  ws-
> axis/java/test/wsdl/marshall/MarshallTestCase.java
> 
>   Index: MarshallTestCase.java
>   ===================================================================
>   /**
>    * MarshallTestCase.java
>    *
>    * This file was auto-generated from WSDL
>    * by the Apache Axis 1.2RC2 Feb 06, 2005 (12:14:42 EST) WSDL2Java
> emitter.
>    */
> 
>   package test.wsdl.marshall;
> 
>   public class MarshallTestCase extends junit.framework.TestCase {
>       public MarshallTestCase(java.lang.String name) {
>           super(name);
>       }
> 
>       public void testMarshallPortWSDL() throws Exception {
>           javax.xml.rpc.ServiceFactory serviceFactory =
> javax.xml.rpc.ServiceFactory.newInstance();
>           java.net.URL url = new java.net.URL(new
> test.wsdl.marshall.MarshallLocator().getMarshallPortAddress() + "?WSDL");
>           javax.xml.rpc.Service service =
> serviceFactory.createService(url, new
> test.wsdl.marshall.MarshallLocator().getServiceName());
>           assertTrue(service != null);
>       }
> 
>       public void test1MarshallPortMyBeanArray() throws Exception {
>           test.wsdl.marshall.MarshallBindingStub binding;
>           try {
>               binding = (test.wsdl.marshall.MarshallBindingStub)
>                             new
> test.wsdl.marshall.MarshallLocator().getMarshallPort();
>           }
>           catch (javax.xml.rpc.ServiceException jre) {
>               if(jre.getLinkedCause()!=null)
>                   jre.getLinkedCause().printStackTrace();
>               throw new junit.framework.AssertionFailedError("JAX-RPC
> ServiceException caught: " + jre);
>           }
>           assertNotNull("binding is null", binding);
> 
>           // Time out after a minute
>           binding.setTimeout(60000);
> 
>           // Test operation
>           test.wsdl.marshall.types.MyBean[] value = null;
>           value = binding.myBeanArray(new
> test.wsdl.marshall.types.MyBean[0]);
>           // TBD - validate results
>       }
> 
>       public void test2MarshallPortMyBeanMultiArray() throws Exception {
>           test.wsdl.marshall.MarshallBindingStub binding;
>           try {
>               binding = (test.wsdl.marshall.MarshallBindingStub)
>                             new
> test.wsdl.marshall.MarshallLocator().getMarshallPort();
>           }
>           catch (javax.xml.rpc.ServiceException jre) {
>               if(jre.getLinkedCause()!=null)
>                   jre.getLinkedCause().printStackTrace();
>               throw new junit.framework.AssertionFailedError("JAX-RPC
> ServiceException caught: " + jre);
>           }
>           assertNotNull("binding is null", binding);
> 
>           // Time out after a minute
>           binding.setTimeout(60000);
> 
>           // Test operation
>           test.wsdl.marshall.types.MyBean[][] value = null;
>           value = binding.myBeanMultiArray(new
> test.wsdl.marshall.types.MyBean[0][0]);
>           // TBD - validate results
>       }
> 
>       public void test3MarshallPortMyBean() throws Exception {
>           test.wsdl.marshall.MarshallBindingStub binding;
>           try {
>               binding = (test.wsdl.marshall.MarshallBindingStub)
>                             new
> test.wsdl.marshall.MarshallLocator().getMarshallPort();
>           }
>           catch (javax.xml.rpc.ServiceException jre) {
>               if(jre.getLinkedCause()!=null)
>                   jre.getLinkedCause().printStackTrace();
>               throw new junit.framework.AssertionFailedError("JAX-RPC
> ServiceException caught: " + jre);
>           }
>           assertNotNull("binding is null", binding);
> 
>           // Time out after a minute
>           binding.setTimeout(60000);
> 
>           // Test operation
>           test.wsdl.marshall.types.MyBean value = null;
>           value = binding.myBean(new test.wsdl.marshall.types.MyBean());
>           // TBD - validate results
>       }
> 
>   }
> 
> 
> 

Reply via email to