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 ve...@apache.org on 2010/01/23 14:52:22 UTC

svn commit: r902404 - 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

Author: veithen
Date: Sat Jan 23 13:52:22 2010
New Revision: 902404

URL: http://svn.apache.org/viewvc?rev=902404&view=rev
Log:
Temporarily reverted r896798 (related to AXIS2-3300) because the change causes a build failure in the integration module (org.tempuri.complex.ComplexDataTypesTest).

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=902404&r1=902403&r2=902404&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl (original)
+++ webservices/axis2/trunk/java/modules/integration/test-resources/BaseDataTypes.wsdl Sat Jan 23 13:52:22 2010
@@ -25,312 +25,308 @@
             <xs:element name="retBool">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element name="inBool" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="inBool" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retBoolResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" type="xs:boolean"/>
+                        <xs:element minOccurs="0" name="return" type="xs:boolean"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retSByte">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inSByte" nillable="true" type="xs:byte"/>
+                        <xs:element minOccurs="0" name="inSByte" nillable="true" type="xs:byte"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retSByteResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" nillable="true" type="xs:byte"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:byte"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retByteArray">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inByteArray" nillable="true" type="xs:base64Binary"/>
+                        <xs:element minOccurs="0" name="inByteArray" nillable="true" type="xs:base64Binary"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retByteArrayResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" nillable="true" type="xs:base64Binary"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:base64Binary"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retDouble">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inDouble" type="xs:double"/>
+                        <xs:element minOccurs="0" name="inDouble" type="xs:double"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retDoubleResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" type="xs:double"/>
+                        <xs:element minOccurs="0" name="return" type="xs:double"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retFloat">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inFloat" type="xs:float"/>
+                        <xs:element minOccurs="0" name="inFloat" type="xs:float"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retFloatResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" type="xs:float"/>
+                        <xs:element minOccurs="0" name="return" type="xs:float"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-
             <xs:element name="retSingle">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inSingle" type="xs:float"/>
+                        <xs:element minOccurs="0" name="inSingle" type="xs:float"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retSingleResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" type="xs:float"/>
+                        <xs:element minOccurs="0" name="return" type="xs:float"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retChar">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inChar" type="xs:int"/>
+                        <xs:element minOccurs="0" name="inChar" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retCharResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" type="xs:int"/>
+                        <xs:element minOccurs="0" name="return" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retInt">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inInt" type="xs:int"/>
+                        <xs:element minOccurs="0" name="inInt" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retIntResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" type="xs:int"/>
+                        <xs:element minOccurs="0" name="return" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retUShort">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inUShort" type="xs:int"/>
+                        <xs:element minOccurs="0" name="inUShort" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retUShortResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" type="xs:int"/>
+                        <xs:element minOccurs="0" name="return" type="xs:int"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retObject">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inObject" nillable="true" type="xs:anyType"/>
+                        <xs:element minOccurs="0" name="inObject" nillable="true" type="xs:anyType"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retObjectResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" nillable="true" type="xs:anyType"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:anyType"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-
             <xs:element name="retGuid">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inGuid" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="inGuid" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retGuidResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retString">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inString" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="inString" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retStringResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retUri">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inUri" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="inUri" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retUriResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retDecimal">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inDecimal" nillable="true" type="xs:decimal"/>
+                        <xs:element minOccurs="0" name="inDecimal" nillable="true" type="xs:decimal"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retDecimalResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" nillable="true" type="xs:decimal"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:decimal"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retULong">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inULong" nillable="true" type="xs:integer"/>
+                        <xs:element minOccurs="0" name="inULong" nillable="true" type="xs:integer"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retULongResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" nillable="true" type="xs:integer"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:integer"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-
             <xs:element name="retDateTime">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inDateTime" nillable="true" type="xs:dateTime"/>
+                        <xs:element minOccurs="0" name="inDateTime" nillable="true" type="xs:dateTime"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retDateTimeResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" nillable="true" type="xs:dateTime"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:dateTime"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retTimeSpan">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inTimeSpan" nillable="true" type="xs:anyType"/>
+                        <xs:element minOccurs="0" name="inTimeSpan" nillable="true" type="xs:anyType"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retTimeSpanResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" nillable="true" type="xs:anyType"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:anyType"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retQName">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inQName" nillable="true" type="xs:anyType"/>
+                        <xs:element minOccurs="0" name="inQName" nillable="true" type="xs:anyType"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retQNameResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" nillable="true" type="xs:anyType"/>
+                        <xs:element minOccurs="0" name="return" nillable="true" type="xs:anyType"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retLong">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inLong" type="xs:long"/>
+                        <xs:element minOccurs="0" name="inLong" type="xs:long"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retLongResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" type="xs:long"/>
+                        <xs:element minOccurs="0" name="return" type="xs:long"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retUInt">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inUInt" type="xs:long"/>
+                        <xs:element minOccurs="0" name="inUInt" type="xs:long"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retUIntResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" type="xs:long"/>
+                        <xs:element minOccurs="0" name="return" type="xs:long"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
-
             <xs:element name="retByte">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inByte" type="xs:short"/>
+                        <xs:element minOccurs="0" name="inByte" type="xs:short"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retByteResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" type="xs:short"/>
+                        <xs:element minOccurs="0" name="return" type="xs:short"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retShort">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="inShort" type="xs:short"/>
+                        <xs:element minOccurs="0" name="inShort" type="xs:short"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="retShortResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element   name="return" type="xs:short"/>
+                        <xs:element minOccurs="0" 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=902404&r1=902403&r2=902404&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 Sat Jan 23 13:52:22 2010
@@ -13,33 +13,33 @@
             <xs:element name="processStringList">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" name="values" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="values" nillable="true" type="xs:string"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:element name="processStringListResponse">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element name="return" nillable="true" type="xs:string"/>
+                        <xs:element minOccurs="0" 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" name="values" nillable="true" type="ns:String"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="values" nillable="true" type="ns:String"/>
                     </xs:sequence>
                 </xs:complexType>
             </xs:element>
             <xs:complexType name="String">
                 <xs:sequence>
-                    <xs:element maxOccurs="unbounded" name="array" nillable="true" type="xs:string"/>
+                    <xs:element maxOccurs="unbounded" minOccurs="0" name="array" nillable="true" type="xs:string"/>
                 </xs:sequence>
             </xs:complexType>
             <xs:element name="processPersonList">
                 <xs:complexType>
                     <xs:sequence>
-                        <xs:element maxOccurs="unbounded" name="persons" nillable="true"
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 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 name="return" nillable="true" type="ax22:Person"/>
+                        <xs:element minOccurs="0" 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"  name="return" nillable="true" type="xs:string"/>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" 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 name="age" type="xs:int"/>
-                    <xs:element name="name" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="age" type="xs:int"/>
+                    <xs:element minOccurs="0" 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=902404&r1=902403&r2=902404&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 Sat Jan 23 13:52:22 2010
@@ -931,6 +931,7 @@
         if (isArryType && !isBase64Binary) {
             elt1.setMaxOccurs(Long.MAX_VALUE);
         }
+        elt1.setMinOccurs(0);
         if (!isPrimitive) {
             elt1.setNillable(true);
         }
@@ -1233,6 +1234,7 @@
         if (isArray) {
             elt1.setMaxOccurs(Long.MAX_VALUE);
         }
+        elt1.setMinOccurs(0);
         if (!("int".equals(schemaTypeName.getLocalPart()) ||
                 "double".equals(schemaTypeName.getLocalPart()) ||
                 "long".equals(schemaTypeName.getLocalPart()) ||