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());