You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Andreas Veithen <an...@gmail.com> on 2010/01/23 14:54:41 UTC

Re: svn commit: r896798 - in /webservices/axis2/trunk/java/modules: integration/test-resources/BaseDataTypes.wsdl integration/test-resources/generics/generics.wsdl kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java

Amila,

I've reverted this change since it causes a build failure in the
integration module (test case:
org.tempuri.complex.ComplexDataTypesTest). Please fix the tests and
reapply the patch.

Andreas

On Thu, Jan 7, 2010 at 09:35,  <am...@apache.org> wrote:
> Author: amilas
> Date: Thu Jan  7 08:34:59 2010
> New Revision: 896798
>
> URL: http://svn.apache.org/viewvc?rev=896798&view=rev
> Log:
> removing minOccurs = 0 to avoid confusion with .net generated code see issue AXIS2-3300
>
> Modified:
>    webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl
>    webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl
>    webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
>
> Modified: webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl
> URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl?rev=896798&r1=896797&r2=896798&view=diff
> ==============================================================================
> --- webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl (original)
> +++ webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl Thu Jan  7 08:34:59 2010
> @@ -25,308 +25,312 @@
>             <xs:element name="retBool">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inBool" type="xs:boolean"/>
> +                        <xs:element name="inBool" type="xs:boolean"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retBoolResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
> +                        <xs:element   name="return" type="xs:boolean"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retSByte">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inSByte" nillable="true" type="xs:byte"/>
> +                        <xs:element   name="inSByte" nillable="true" type="xs:byte"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retSByteResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:byte"/>
> +                        <xs:element   name="return" nillable="true" type="xs:byte"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retByteArray">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inByteArray" nillable="true" type="xs:base64Binary"/>
> +                        <xs:element   name="inByteArray" nillable="true" type="xs:base64Binary"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retByteArrayResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:base64Binary"/>
> +                        <xs:element   name="return" nillable="true" type="xs:base64Binary"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retDouble">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inDouble" type="xs:double"/>
> +                        <xs:element   name="inDouble" type="xs:double"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retDoubleResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" type="xs:double"/>
> +                        <xs:element   name="return" type="xs:double"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retFloat">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inFloat" type="xs:float"/>
> +                        <xs:element   name="inFloat" type="xs:float"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retFloatResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" type="xs:float"/>
> +                        <xs:element   name="return" type="xs:float"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
> +
>             <xs:element name="retSingle">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inSingle" type="xs:float"/>
> +                        <xs:element   name="inSingle" type="xs:float"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retSingleResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" type="xs:float"/>
> +                        <xs:element   name="return" type="xs:float"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retChar">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inChar" type="xs:int"/>
> +                        <xs:element   name="inChar" type="xs:int"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retCharResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" type="xs:int"/>
> +                        <xs:element   name="return" type="xs:int"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retInt">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inInt" type="xs:int"/>
> +                        <xs:element   name="inInt" type="xs:int"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retIntResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" type="xs:int"/>
> +                        <xs:element   name="return" type="xs:int"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retUShort">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inUShort" type="xs:int"/>
> +                        <xs:element   name="inUShort" type="xs:int"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retUShortResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" type="xs:int"/>
> +                        <xs:element   name="return" type="xs:int"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retObject">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inObject" nillable="true" type="xs:anyType"/>
> +                        <xs:element   name="inObject" nillable="true" type="xs:anyType"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retObjectResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:anyType"/>
> +                        <xs:element   name="return" nillable="true" type="xs:anyType"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
> +
>             <xs:element name="retGuid">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inGuid" nillable="true" type="xs:string"/>
> +                        <xs:element   name="inGuid" nillable="true" type="xs:string"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retGuidResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
> +                        <xs:element   name="return" nillable="true" type="xs:string"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retString">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inString" nillable="true" type="xs:string"/>
> +                        <xs:element   name="inString" nillable="true" type="xs:string"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retStringResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
> +                        <xs:element   name="return" nillable="true" type="xs:string"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retUri">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inUri" nillable="true" type="xs:string"/>
> +                        <xs:element   name="inUri" nillable="true" type="xs:string"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retUriResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
> +                        <xs:element   name="return" nillable="true" type="xs:string"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retDecimal">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inDecimal" nillable="true" type="xs:decimal"/>
> +                        <xs:element   name="inDecimal" nillable="true" type="xs:decimal"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retDecimalResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:decimal"/>
> +                        <xs:element   name="return" nillable="true" type="xs:decimal"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retULong">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inULong" nillable="true" type="xs:integer"/>
> +                        <xs:element   name="inULong" nillable="true" type="xs:integer"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retULongResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:integer"/>
> +                        <xs:element   name="return" nillable="true" type="xs:integer"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
> +
>             <xs:element name="retDateTime">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inDateTime" nillable="true" type="xs:dateTime"/>
> +                        <xs:element   name="inDateTime" nillable="true" type="xs:dateTime"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retDateTimeResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:dateTime"/>
> +                        <xs:element   name="return" nillable="true" type="xs:dateTime"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retTimeSpan">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inTimeSpan" nillable="true" type="xs:anyType"/>
> +                        <xs:element   name="inTimeSpan" nillable="true" type="xs:anyType"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retTimeSpanResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:anyType"/>
> +                        <xs:element   name="return" nillable="true" type="xs:anyType"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retQName">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inQName" nillable="true" type="xs:anyType"/>
> +                        <xs:element   name="inQName" nillable="true" type="xs:anyType"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retQNameResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:anyType"/>
> +                        <xs:element   name="return" nillable="true" type="xs:anyType"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retLong">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inLong" type="xs:long"/>
> +                        <xs:element   name="inLong" type="xs:long"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retLongResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" type="xs:long"/>
> +                        <xs:element   name="return" type="xs:long"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retUInt">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inUInt" type="xs:long"/>
> +                        <xs:element   name="inUInt" type="xs:long"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retUIntResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" type="xs:long"/>
> +                        <xs:element   name="return" type="xs:long"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
> +
>             <xs:element name="retByte">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inByte" type="xs:short"/>
> +                        <xs:element   name="inByte" type="xs:short"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retByteResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" type="xs:short"/>
> +                        <xs:element   name="return" type="xs:short"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retShort">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="inShort" type="xs:short"/>
> +                        <xs:element   name="inShort" type="xs:short"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="retShortResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" type="xs:short"/>
> +                        <xs:element   name="return" type="xs:short"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>
> Modified: webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl
> URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl?rev=896798&r1=896797&r2=896798&view=diff
> ==============================================================================
> --- webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl (original)
> +++ webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl Thu Jan  7 08:34:59 2010
> @@ -13,33 +13,33 @@
>             <xs:element name="processStringList">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element maxOccurs="unbounded" minOccurs="0" name="values" nillable="true" type="xs:string"/>
> +                        <xs:element maxOccurs="unbounded" name="values" nillable="true" type="xs:string"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="processStringListResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
> +                        <xs:element name="return" nillable="true" type="xs:string"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="processStringArray">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element maxOccurs="unbounded" minOccurs="0" name="values" nillable="true" type="ns:String"/>
> +                        <xs:element maxOccurs="unbounded" name="values" nillable="true" type="ns:String"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:complexType name="String">
>                 <xs:sequence>
> -                    <xs:element maxOccurs="unbounded" minOccurs="0" name="array" nillable="true" type="xs:string"/>
> +                    <xs:element maxOccurs="unbounded" name="array" nillable="true" type="xs:string"/>
>                 </xs:sequence>
>             </xs:complexType>
>             <xs:element name="processPersonList">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element maxOccurs="unbounded" minOccurs="0" name="persons" nillable="true"
> +                        <xs:element maxOccurs="unbounded" name="persons" nillable="true"
>                                     type="ax22:Person"/>
>                     </xs:sequence>
>                 </xs:complexType>
> @@ -47,14 +47,14 @@
>             <xs:element name="processPersonListResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element minOccurs="0" name="return" nillable="true" type="ax22:Person"/>
> +                        <xs:element name="return" nillable="true" type="ax22:Person"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
>             <xs:element name="getStringListResponse">
>                 <xs:complexType>
>                     <xs:sequence>
> -                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
> +                        <xs:element maxOccurs="unbounded"  name="return" nillable="true" type="xs:string"/>
>                     </xs:sequence>
>                 </xs:complexType>
>             </xs:element>
> @@ -63,8 +63,8 @@
>                    targetNamespace="http://generics.axis2.apache.org/xsd">
>             <xs:complexType name="Person">
>                 <xs:sequence>
> -                    <xs:element minOccurs="0" name="age" type="xs:int"/>
> -                    <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
> +                    <xs:element name="age" type="xs:int"/>
> +                    <xs:element name="name" nillable="true" type="xs:string"/>
>                 </xs:sequence>
>             </xs:complexType>
>         </xs:schema>
>
> Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
> URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java?rev=896798&r1=896797&r2=896798&view=diff
> ==============================================================================
> --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java (original)
> +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java Thu Jan  7 08:34:59 2010
> @@ -931,7 +931,6 @@
>         if (isArryType && !isBase64Binary) {
>             elt1.setMaxOccurs(Long.MAX_VALUE);
>         }
> -        elt1.setMinOccurs(0);
>         if (!isPrimitive) {
>             elt1.setNillable(true);
>         }
> @@ -1234,7 +1233,6 @@
>         if (isArray) {
>             elt1.setMaxOccurs(Long.MAX_VALUE);
>         }
> -        elt1.setMinOccurs(0);
>         if (!("int".equals(schemaTypeName.getLocalPart()) ||
>                 "double".equals(schemaTypeName.getLocalPart()) ||
>                 "long".equals(schemaTypeName.getLocalPart()) ||
>
>
>

Re: svn commit: r896798 - in /webservices/axis2/trunk/java/modules: integration/test-resources/BaseDataTypes.wsdl integration/test-resources/generics/generics.wsdl kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java

Posted by Andreas Veithen <an...@gmail.com>.
On Sun, Jan 24, 2010 at 17:17, Amila Suriarachchi
<am...@gmail.com> wrote:
> Andreas,
>
>
> On Sat, Jan 23, 2010 at 7:24 PM, Andreas Veithen <an...@gmail.com>
> wrote:
>>
>> Amila,
>>
>> I've reverted this change
>
>
> It is a bad habit of reverting changes with out telling the exact problem in
> the dev list.
> As you know I did this change with a proper discussion  and all integration
> tests were successful when I did this change. You should have send the error
> log first.

Before going into that sort of discussion, let's first look at the
issue. You can get the stack trace from here:

http://hudson.zones.apache.org/hudson/view/Axis2/job/Axis2/58/

> thanks,
> Amila.
>>
>> since it causes a build failure in the
>> integration module (test case:
>> org.tempuri.complex.ComplexDataTypesTest). Please fix the tests and
>> reapply the patch.
>>
>> Andreas
>>
>> On Thu, Jan 7, 2010 at 09:35,  <am...@apache.org> wrote:
>> > Author: amilas
>> > Date: Thu Jan  7 08:34:59 2010
>> > New Revision: 896798
>> >
>> > URL: http://svn.apache.org/viewvc?rev=896798&view=rev
>> > Log:
>> > removing minOccurs = 0 to avoid confusion with .net generated code see
>> > issue AXIS2-3300
>> >
>> > Modified:
>> >
>> >  webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl
>> >
>> >  webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl
>> >
>> >  webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
>> >
>> > Modified:
>> > webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl
>> > URL:
>> > http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl?rev=896798&r1=896797&r2=896798&view=diff
>> >
>> > ==============================================================================
>> > ---
>> > webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl
>> > (original)
>> > +++
>> > webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl
>> > Thu Jan  7 08:34:59 2010
>> > @@ -25,308 +25,312 @@
>> >             <xs:element name="retBool">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inBool"
>> > type="xs:boolean"/>
>> > +                        <xs:element name="inBool" type="xs:boolean"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retBoolResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > type="xs:boolean"/>
>> > +                        <xs:element   name="return" type="xs:boolean"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retSByte">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inSByte"
>> > nillable="true" type="xs:byte"/>
>> > +                        <xs:element   name="inSByte" nillable="true"
>> > type="xs:byte"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retSByteResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > nillable="true" type="xs:byte"/>
>> > +                        <xs:element   name="return" nillable="true"
>> > type="xs:byte"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retByteArray">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inByteArray"
>> > nillable="true" type="xs:base64Binary"/>
>> > +                        <xs:element   name="inByteArray"
>> > nillable="true" type="xs:base64Binary"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retByteArrayResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > nillable="true" type="xs:base64Binary"/>
>> > +                        <xs:element   name="return" nillable="true"
>> > type="xs:base64Binary"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retDouble">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inDouble"
>> > type="xs:double"/>
>> > +                        <xs:element   name="inDouble"
>> > type="xs:double"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retDoubleResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > type="xs:double"/>
>> > +                        <xs:element   name="return" type="xs:double"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retFloat">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inFloat"
>> > type="xs:float"/>
>> > +                        <xs:element   name="inFloat" type="xs:float"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retFloatResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > type="xs:float"/>
>> > +                        <xs:element   name="return" type="xs:float"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> > +
>> >             <xs:element name="retSingle">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inSingle"
>> > type="xs:float"/>
>> > +                        <xs:element   name="inSingle" type="xs:float"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retSingleResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > type="xs:float"/>
>> > +                        <xs:element   name="return" type="xs:float"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retChar">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inChar"
>> > type="xs:int"/>
>> > +                        <xs:element   name="inChar" type="xs:int"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retCharResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > type="xs:int"/>
>> > +                        <xs:element   name="return" type="xs:int"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retInt">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inInt"
>> > type="xs:int"/>
>> > +                        <xs:element   name="inInt" type="xs:int"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retIntResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > type="xs:int"/>
>> > +                        <xs:element   name="return" type="xs:int"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retUShort">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inUShort"
>> > type="xs:int"/>
>> > +                        <xs:element   name="inUShort" type="xs:int"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retUShortResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > type="xs:int"/>
>> > +                        <xs:element   name="return" type="xs:int"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retObject">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inObject"
>> > nillable="true" type="xs:anyType"/>
>> > +                        <xs:element   name="inObject" nillable="true"
>> > type="xs:anyType"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retObjectResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > nillable="true" type="xs:anyType"/>
>> > +                        <xs:element   name="return" nillable="true"
>> > type="xs:anyType"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> > +
>> >             <xs:element name="retGuid">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inGuid"
>> > nillable="true" type="xs:string"/>
>> > +                        <xs:element   name="inGuid" nillable="true"
>> > type="xs:string"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retGuidResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > nillable="true" type="xs:string"/>
>> > +                        <xs:element   name="return" nillable="true"
>> > type="xs:string"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retString">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inString"
>> > nillable="true" type="xs:string"/>
>> > +                        <xs:element   name="inString" nillable="true"
>> > type="xs:string"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retStringResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > nillable="true" type="xs:string"/>
>> > +                        <xs:element   name="return" nillable="true"
>> > type="xs:string"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retUri">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inUri"
>> > nillable="true" type="xs:string"/>
>> > +                        <xs:element   name="inUri" nillable="true"
>> > type="xs:string"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retUriResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > nillable="true" type="xs:string"/>
>> > +                        <xs:element   name="return" nillable="true"
>> > type="xs:string"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retDecimal">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inDecimal"
>> > nillable="true" type="xs:decimal"/>
>> > +                        <xs:element   name="inDecimal" nillable="true"
>> > type="xs:decimal"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retDecimalResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > nillable="true" type="xs:decimal"/>
>> > +                        <xs:element   name="return" nillable="true"
>> > type="xs:decimal"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retULong">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inULong"
>> > nillable="true" type="xs:integer"/>
>> > +                        <xs:element   name="inULong" nillable="true"
>> > type="xs:integer"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retULongResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > nillable="true" type="xs:integer"/>
>> > +                        <xs:element   name="return" nillable="true"
>> > type="xs:integer"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> > +
>> >             <xs:element name="retDateTime">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inDateTime"
>> > nillable="true" type="xs:dateTime"/>
>> > +                        <xs:element   name="inDateTime" nillable="true"
>> > type="xs:dateTime"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retDateTimeResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > nillable="true" type="xs:dateTime"/>
>> > +                        <xs:element   name="return" nillable="true"
>> > type="xs:dateTime"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retTimeSpan">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inTimeSpan"
>> > nillable="true" type="xs:anyType"/>
>> > +                        <xs:element   name="inTimeSpan" nillable="true"
>> > type="xs:anyType"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retTimeSpanResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > nillable="true" type="xs:anyType"/>
>> > +                        <xs:element   name="return" nillable="true"
>> > type="xs:anyType"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retQName">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inQName"
>> > nillable="true" type="xs:anyType"/>
>> > +                        <xs:element   name="inQName" nillable="true"
>> > type="xs:anyType"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retQNameResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > nillable="true" type="xs:anyType"/>
>> > +                        <xs:element   name="return" nillable="true"
>> > type="xs:anyType"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retLong">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inLong"
>> > type="xs:long"/>
>> > +                        <xs:element   name="inLong" type="xs:long"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retLongResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > type="xs:long"/>
>> > +                        <xs:element   name="return" type="xs:long"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retUInt">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inUInt"
>> > type="xs:long"/>
>> > +                        <xs:element   name="inUInt" type="xs:long"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retUIntResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > type="xs:long"/>
>> > +                        <xs:element   name="return" type="xs:long"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> > +
>> >             <xs:element name="retByte">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inByte"
>> > type="xs:short"/>
>> > +                        <xs:element   name="inByte" type="xs:short"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retByteResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > type="xs:short"/>
>> > +                        <xs:element   name="return" type="xs:short"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retShort">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="inShort"
>> > type="xs:short"/>
>> > +                        <xs:element   name="inShort" type="xs:short"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="retShortResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > type="xs:short"/>
>> > +                        <xs:element   name="return" type="xs:short"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >
>> > Modified:
>> > webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl
>> > URL:
>> > http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl?rev=896798&r1=896797&r2=896798&view=diff
>> >
>> > ==============================================================================
>> > ---
>> > webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl
>> > (original)
>> > +++
>> > webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl
>> > Thu Jan  7 08:34:59 2010
>> > @@ -13,33 +13,33 @@
>> >             <xs:element name="processStringList">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element maxOccurs="unbounded" minOccurs="0"
>> > name="values" nillable="true" type="xs:string"/>
>> > +                        <xs:element maxOccurs="unbounded" name="values"
>> > nillable="true" type="xs:string"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="processStringListResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > nillable="true" type="xs:string"/>
>> > +                        <xs:element name="return" nillable="true"
>> > type="xs:string"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="processStringArray">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element maxOccurs="unbounded" minOccurs="0"
>> > name="values" nillable="true" type="ns:String"/>
>> > +                        <xs:element maxOccurs="unbounded" name="values"
>> > nillable="true" type="ns:String"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:complexType name="String">
>> >                 <xs:sequence>
>> > -                    <xs:element maxOccurs="unbounded" minOccurs="0"
>> > name="array" nillable="true" type="xs:string"/>
>> > +                    <xs:element maxOccurs="unbounded" name="array"
>> > nillable="true" type="xs:string"/>
>> >                 </xs:sequence>
>> >             </xs:complexType>
>> >             <xs:element name="processPersonList">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element maxOccurs="unbounded" minOccurs="0"
>> > name="persons" nillable="true"
>> > +                        <xs:element maxOccurs="unbounded"
>> > name="persons" nillable="true"
>> >                                     type="ax22:Person"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> > @@ -47,14 +47,14 @@
>> >             <xs:element name="processPersonListResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element minOccurs="0" name="return"
>> > nillable="true" type="ax22:Person"/>
>> > +                        <xs:element name="return" nillable="true"
>> > type="ax22:Person"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> >             <xs:element name="getStringListResponse">
>> >                 <xs:complexType>
>> >                     <xs:sequence>
>> > -                        <xs:element maxOccurs="unbounded" minOccurs="0"
>> > name="return" nillable="true" type="xs:string"/>
>> > +                        <xs:element maxOccurs="unbounded"
>> >  name="return" nillable="true" type="xs:string"/>
>> >                     </xs:sequence>
>> >                 </xs:complexType>
>> >             </xs:element>
>> > @@ -63,8 +63,8 @@
>> >
>> >  targetNamespace="http://generics.axis2.apache.org/xsd">
>> >             <xs:complexType name="Person">
>> >                 <xs:sequence>
>> > -                    <xs:element minOccurs="0" name="age"
>> > type="xs:int"/>
>> > -                    <xs:element minOccurs="0" name="name"
>> > nillable="true" type="xs:string"/>
>> > +                    <xs:element name="age" type="xs:int"/>
>> > +                    <xs:element name="name" nillable="true"
>> > type="xs:string"/>
>> >                 </xs:sequence>
>> >             </xs:complexType>
>> >         </xs:schema>
>> >
>> > Modified:
>> > webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
>> > URL:
>> > http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java?rev=896798&r1=896797&r2=896798&view=diff
>> >
>> > ==============================================================================
>> > ---
>> > webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
>> > (original)
>> > +++
>> > webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
>> > Thu Jan  7 08:34:59 2010
>> > @@ -931,7 +931,6 @@
>> >         if (isArryType && !isBase64Binary) {
>> >             elt1.setMaxOccurs(Long.MAX_VALUE);
>> >         }
>> > -        elt1.setMinOccurs(0);
>> >         if (!isPrimitive) {
>> >             elt1.setNillable(true);
>> >         }
>> > @@ -1234,7 +1233,6 @@
>> >         if (isArray) {
>> >             elt1.setMaxOccurs(Long.MAX_VALUE);
>> >         }
>> > -        elt1.setMinOccurs(0);
>> >         if (!("int".equals(schemaTypeName.getLocalPart()) ||
>> >                 "double".equals(schemaTypeName.getLocalPart()) ||
>> >                 "long".equals(schemaTypeName.getLocalPart()) ||
>> >
>> >
>> >
>
>
>
> --
> Amila Suriarachchi
> WSO2 Inc.
> blog: http://amilachinthaka.blogspot.com/
>

Re: svn commit: r896798 - in /webservices/axis2/trunk/java/modules: integration/test-resources/BaseDataTypes.wsdl integration/test-resources/generics/generics.wsdl kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java

Posted by Amila Suriarachchi <am...@gmail.com>.
Andreas,


On Sat, Jan 23, 2010 at 7:24 PM, Andreas Veithen
<an...@gmail.com>wrote:

> Amila,
>
> I've reverted this change


It is a bad habit of reverting changes with out telling the exact problem in
the dev list.
As you know I did this change with a proper discussion  and all integration
tests were successful when I did this change. You should have send the error
log first.

thanks,
Amila.

> since it causes a build failure in the
> integration module (test case:
> org.tempuri.complex.ComplexDataTypesTest). Please fix the tests and
> reapply the patch.
>
> Andreas
>
> On Thu, Jan 7, 2010 at 09:35,  <am...@apache.org> wrote:
> > Author: amilas
> > Date: Thu Jan  7 08:34:59 2010
> > New Revision: 896798
> >
> > URL: http://svn.apache.org/viewvc?rev=896798&view=rev
> > Log:
> > removing minOccurs = 0 to avoid confusion with .net generated code see
> issue AXIS2-3300
> >
> > Modified:
> >
>  webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl
> >
>  webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl
> >
>  webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
> >
> > Modified:
> webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl
> > URL:
> http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl?rev=896798&r1=896797&r2=896798&view=diff
> >
> ==============================================================================
> > ---
> webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl
> (original)
> > +++
> webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl
> Thu Jan  7 08:34:59 2010
> > @@ -25,308 +25,312 @@
> >             <xs:element name="retBool">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inBool"
> type="xs:boolean"/>
> > +                        <xs:element name="inBool" type="xs:boolean"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retBoolResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> type="xs:boolean"/>
> > +                        <xs:element   name="return" type="xs:boolean"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retSByte">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inSByte"
> nillable="true" type="xs:byte"/>
> > +                        <xs:element   name="inSByte" nillable="true"
> type="xs:byte"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retSByteResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> nillable="true" type="xs:byte"/>
> > +                        <xs:element   name="return" nillable="true"
> type="xs:byte"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retByteArray">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inByteArray"
> nillable="true" type="xs:base64Binary"/>
> > +                        <xs:element   name="inByteArray" nillable="true"
> type="xs:base64Binary"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retByteArrayResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> nillable="true" type="xs:base64Binary"/>
> > +                        <xs:element   name="return" nillable="true"
> type="xs:base64Binary"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retDouble">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inDouble"
> type="xs:double"/>
> > +                        <xs:element   name="inDouble" type="xs:double"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retDoubleResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> type="xs:double"/>
> > +                        <xs:element   name="return" type="xs:double"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retFloat">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inFloat"
> type="xs:float"/>
> > +                        <xs:element   name="inFloat" type="xs:float"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retFloatResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> type="xs:float"/>
> > +                        <xs:element   name="return" type="xs:float"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> > +
> >             <xs:element name="retSingle">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inSingle"
> type="xs:float"/>
> > +                        <xs:element   name="inSingle" type="xs:float"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retSingleResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> type="xs:float"/>
> > +                        <xs:element   name="return" type="xs:float"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retChar">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inChar"
> type="xs:int"/>
> > +                        <xs:element   name="inChar" type="xs:int"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retCharResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> type="xs:int"/>
> > +                        <xs:element   name="return" type="xs:int"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retInt">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inInt"
> type="xs:int"/>
> > +                        <xs:element   name="inInt" type="xs:int"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retIntResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> type="xs:int"/>
> > +                        <xs:element   name="return" type="xs:int"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retUShort">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inUShort"
> type="xs:int"/>
> > +                        <xs:element   name="inUShort" type="xs:int"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retUShortResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> type="xs:int"/>
> > +                        <xs:element   name="return" type="xs:int"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retObject">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inObject"
> nillable="true" type="xs:anyType"/>
> > +                        <xs:element   name="inObject" nillable="true"
> type="xs:anyType"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retObjectResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> nillable="true" type="xs:anyType"/>
> > +                        <xs:element   name="return" nillable="true"
> type="xs:anyType"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> > +
> >             <xs:element name="retGuid">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inGuid"
> nillable="true" type="xs:string"/>
> > +                        <xs:element   name="inGuid" nillable="true"
> type="xs:string"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retGuidResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> nillable="true" type="xs:string"/>
> > +                        <xs:element   name="return" nillable="true"
> type="xs:string"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retString">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inString"
> nillable="true" type="xs:string"/>
> > +                        <xs:element   name="inString" nillable="true"
> type="xs:string"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retStringResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> nillable="true" type="xs:string"/>
> > +                        <xs:element   name="return" nillable="true"
> type="xs:string"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retUri">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inUri"
> nillable="true" type="xs:string"/>
> > +                        <xs:element   name="inUri" nillable="true"
> type="xs:string"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retUriResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> nillable="true" type="xs:string"/>
> > +                        <xs:element   name="return" nillable="true"
> type="xs:string"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retDecimal">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inDecimal"
> nillable="true" type="xs:decimal"/>
> > +                        <xs:element   name="inDecimal" nillable="true"
> type="xs:decimal"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retDecimalResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> nillable="true" type="xs:decimal"/>
> > +                        <xs:element   name="return" nillable="true"
> type="xs:decimal"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retULong">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inULong"
> nillable="true" type="xs:integer"/>
> > +                        <xs:element   name="inULong" nillable="true"
> type="xs:integer"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retULongResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> nillable="true" type="xs:integer"/>
> > +                        <xs:element   name="return" nillable="true"
> type="xs:integer"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> > +
> >             <xs:element name="retDateTime">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inDateTime"
> nillable="true" type="xs:dateTime"/>
> > +                        <xs:element   name="inDateTime" nillable="true"
> type="xs:dateTime"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retDateTimeResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> nillable="true" type="xs:dateTime"/>
> > +                        <xs:element   name="return" nillable="true"
> type="xs:dateTime"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retTimeSpan">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inTimeSpan"
> nillable="true" type="xs:anyType"/>
> > +                        <xs:element   name="inTimeSpan" nillable="true"
> type="xs:anyType"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retTimeSpanResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> nillable="true" type="xs:anyType"/>
> > +                        <xs:element   name="return" nillable="true"
> type="xs:anyType"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retQName">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inQName"
> nillable="true" type="xs:anyType"/>
> > +                        <xs:element   name="inQName" nillable="true"
> type="xs:anyType"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retQNameResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> nillable="true" type="xs:anyType"/>
> > +                        <xs:element   name="return" nillable="true"
> type="xs:anyType"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retLong">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inLong"
> type="xs:long"/>
> > +                        <xs:element   name="inLong" type="xs:long"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retLongResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> type="xs:long"/>
> > +                        <xs:element   name="return" type="xs:long"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retUInt">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inUInt"
> type="xs:long"/>
> > +                        <xs:element   name="inUInt" type="xs:long"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retUIntResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> type="xs:long"/>
> > +                        <xs:element   name="return" type="xs:long"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> > +
> >             <xs:element name="retByte">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inByte"
> type="xs:short"/>
> > +                        <xs:element   name="inByte" type="xs:short"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retByteResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> type="xs:short"/>
> > +                        <xs:element   name="return" type="xs:short"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retShort">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="inShort"
> type="xs:short"/>
> > +                        <xs:element   name="inShort" type="xs:short"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="retShortResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> type="xs:short"/>
> > +                        <xs:element   name="return" type="xs:short"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >
> > Modified:
> webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl
> > URL:
> http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl?rev=896798&r1=896797&r2=896798&view=diff
> >
> ==============================================================================
> > ---
> webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl
> (original)
> > +++
> webservices/axis2/trunk/java/modules/integration/test-resources/generics/generics.wsdl
> Thu Jan  7 08:34:59 2010
> > @@ -13,33 +13,33 @@
> >             <xs:element name="processStringList">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element maxOccurs="unbounded" minOccurs="0"
> name="values" nillable="true" type="xs:string"/>
> > +                        <xs:element maxOccurs="unbounded" name="values"
> nillable="true" type="xs:string"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="processStringListResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> nillable="true" type="xs:string"/>
> > +                        <xs:element name="return" nillable="true"
> type="xs:string"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="processStringArray">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element maxOccurs="unbounded" minOccurs="0"
> name="values" nillable="true" type="ns:String"/>
> > +                        <xs:element maxOccurs="unbounded" name="values"
> nillable="true" type="ns:String"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:complexType name="String">
> >                 <xs:sequence>
> > -                    <xs:element maxOccurs="unbounded" minOccurs="0"
> name="array" nillable="true" type="xs:string"/>
> > +                    <xs:element maxOccurs="unbounded" name="array"
> nillable="true" type="xs:string"/>
> >                 </xs:sequence>
> >             </xs:complexType>
> >             <xs:element name="processPersonList">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element maxOccurs="unbounded" minOccurs="0"
> name="persons" nillable="true"
> > +                        <xs:element maxOccurs="unbounded" name="persons"
> nillable="true"
> >                                     type="ax22:Person"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> > @@ -47,14 +47,14 @@
> >             <xs:element name="processPersonListResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element minOccurs="0" name="return"
> nillable="true" type="ax22:Person"/>
> > +                        <xs:element name="return" nillable="true"
> type="ax22:Person"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> >             <xs:element name="getStringListResponse">
> >                 <xs:complexType>
> >                     <xs:sequence>
> > -                        <xs:element maxOccurs="unbounded" minOccurs="0"
> name="return" nillable="true" type="xs:string"/>
> > +                        <xs:element maxOccurs="unbounded"  name="return"
> nillable="true" type="xs:string"/>
> >                     </xs:sequence>
> >                 </xs:complexType>
> >             </xs:element>
> > @@ -63,8 +63,8 @@
> >                    targetNamespace="http://generics.axis2.apache.org/xsd
> ">
> >             <xs:complexType name="Person">
> >                 <xs:sequence>
> > -                    <xs:element minOccurs="0" name="age" type="xs:int"/>
> > -                    <xs:element minOccurs="0" name="name"
> nillable="true" type="xs:string"/>
> > +                    <xs:element name="age" type="xs:int"/>
> > +                    <xs:element name="name" nillable="true"
> type="xs:string"/>
> >                 </xs:sequence>
> >             </xs:complexType>
> >         </xs:schema>
> >
> > Modified:
> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
> > URL:
> http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java?rev=896798&r1=896797&r2=896798&view=diff
> >
> ==============================================================================
> > ---
> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
> (original)
> > +++
> webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
> Thu Jan  7 08:34:59 2010
> > @@ -931,7 +931,6 @@
> >         if (isArryType && !isBase64Binary) {
> >             elt1.setMaxOccurs(Long.MAX_VALUE);
> >         }
> > -        elt1.setMinOccurs(0);
> >         if (!isPrimitive) {
> >             elt1.setNillable(true);
> >         }
> > @@ -1234,7 +1233,6 @@
> >         if (isArray) {
> >             elt1.setMaxOccurs(Long.MAX_VALUE);
> >         }
> > -        elt1.setMinOccurs(0);
> >         if (!("int".equals(schemaTypeName.getLocalPart()) ||
> >                 "double".equals(schemaTypeName.getLocalPart()) ||
> >                 "long".equals(schemaTypeName.getLocalPart()) ||
> >
> >
> >
>



-- 
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/