You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2008/11/14 17:17:00 UTC
svn commit: r714056 - in
/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info:
Type.java WSDLInfo.java
Author: nadiramra
Date: Fri Nov 14 08:16:59 2008
New Revision: 714056
URL: http://svn.apache.org/viewvc?rev=714056&view=rev
Log:
AXISCPP-1060 xsd:anyType as input or output with -wunwrapped generated bad code
Modified:
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/Type.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/Type.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/Type.java?rev=714056&r1=714055&r2=714056&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/Type.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/Type.java Fri Nov 14 08:16:59 2008
@@ -336,6 +336,14 @@
/**
* @return boolean
*/
+ public boolean isPrimitiveType()
+ {
+ return CUtils.isPrimitiveType(name);
+ }
+
+ /**
+ * @return boolean
+ */
public boolean isSimpleType()
{
return isSimpleType;
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java?rev=714056&r1=714055&r2=714056&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/info/WSDLInfo.java Fri Nov 14 08:16:59 2008
@@ -1452,8 +1452,10 @@
}
else
{
- // If input element does not contain any sub-elements or attributes, we ignore.
- if (elementNames.hasNext()
+ // If input element is complex and does not contain any sub-elements or attributes, we ignore.
+ if (type.isSimpleType()
+ || type.isPrimitiveType()
+ || elementNames.hasNext()
|| (attributes != null && attributes.hasNext()))
{
String elementName;
@@ -1468,7 +1470,12 @@
pinfo.setType(type);
type.setIsUnwrappedInputType(true);
pinfo.setParamName(elementName, c_typeMap);
- pinfo.setElementName(type.getName());
+
+ if (!elementNames.hasNext() && type.isSimpleType())
+ pinfo.setElementName(element.getQName());
+ else
+ pinfo.setElementName(type.getName());
+
pinfo.setAnyElement(type.isAnyElement());
// Let us be nice and uppercase the first character in type name,
@@ -1552,6 +1559,9 @@
String minfo_nm = minfo.getMethodname();
String type_nm = type.getLanguageSpecificName();
+ if (CUtils.isPrimitiveType(type_nm))
+ return type_nm;
+
String newName = CUtils.capitalizeFirstCharacter(type_nm);
if (!minfo_nm.equals(newName))