diff -dru axis2-1.4/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java axis2-1.4.fjo/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java
--- axis2-1.4/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java	2008-03-15 13:46:38.000000000 +0100
+++ axis2-1.4.fjo/modules/kernel/src/org/apache/axis2/description/java2wsdl/DefaultSchemaGenerator.java	2008-05-06 14:12:05.000000000 +0200
@@ -725,7 +725,7 @@
             if (isArryType && (!propertyName.equals("base64Binary"))) {
                 elt1.setMaxOccurs(Long.MAX_VALUE);
             }
-            elt1.setMinOccurs(0);
+            elt1.setMinOccurs(1);
             if (!type.isPrimitiveType()) {
                 elt1.setNillable(true);
             }
@@ -742,7 +742,7 @@
             if (isArryType) {
                 elt1.setMaxOccurs(Long.MAX_VALUE);
             }
-            elt1.setMinOccurs(0);
+            elt1.setMinOccurs(1);
             elt1.setNillable(true);
 
             if (!((NamespaceMap) xmlSchema.getNamespaceContext()).values().
@@ -843,7 +843,7 @@
         if (isArray) {
             elt1.setMaxOccurs(Long.MAX_VALUE);
         }
-        elt1.setMinOccurs(0);
+        elt1.setMinOccurs(1);
         if (!("int".equals(schemaTypeName.getLocalPart()) ||
                 "double".equals(schemaTypeName.getLocalPart()) ||
                 "long".equals(schemaTypeName.getLocalPart()) ||
