AXISCPP-1072 Unexpected or extraneous element encountered.
diff --git a/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/MethodInfo.java b/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/MethodInfo.java
index da09400..05ec82c 100644
--- a/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/MethodInfo.java
+++ b/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/MethodInfo.java
@@ -34,7 +34,7 @@
     private Parameters operationParameters;
     private ArrayList inputParameters;
     private ArrayList outputParameters;
-    private String soapAction = null;
+    private String soapAction = "";
     private QName inputMessage;
     private QName outputMessage;
     private ArrayList faultType;
@@ -94,6 +94,9 @@
 
     public void setSoapAction(String string)
     {
+        if (string == null)
+            string = "";
+        
         soapAction = string;
     }
 
diff --git a/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java b/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java
index e67fbe9..99db6f4 100644
--- a/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java
+++ b/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java
@@ -629,7 +629,12 @@
             if (null == type.getRefType())

                 throw new WrapperFault("Array type found without a Ref type");

             

+            // Handle array that references an element

             QName qn = type.getRefType().getQName();

+            // TODO

+//            if (type.getRefType().getRefType() != null)

+//                qn = type.getRefType().getRefType().getQName();

+           

             if (null == qn)

                 throw new WrapperFault("Array type found without a Ref type");

             

@@ -1388,7 +1393,7 @@
                 type.setIsUnwrappedOutputType(true);

                 pinfo.setParamName(elementName, c_typeMap);

                 

-                if (!elementNames.hasNext() && (type.isSimpleType() || type.isPrimitiveType()))

+                if (element != null)

                     pinfo.setElementName(element.getQName());

                 else

                     pinfo.setElementName(type.getName());

@@ -1556,7 +1561,7 @@
                 type.setIsUnwrappedInputType(true);

                 pinfo.setParamName(elementName, c_typeMap);

                 

-                if (!elementNames.hasNext() && (type.isSimpleType() || type.isPrimitiveType()))

+                if (element != null)

                     pinfo.setElementName(element.getQName());

                 else

                     pinfo.setElementName(type.getName());