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 pr...@apache.org on 2005/11/08 12:05:47 UTC

svn commit: r331785 - /webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java

Author: prestonf
Date: Tue Nov  8 03:05:23 2005
New Revision: 331785

URL: http://svn.apache.org/viewcvs?rev=331785&view=rev
Log:
Part of the fix for AXISCPP-149.  This covers all of the complex types.

Modified:
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java

Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java?rev=331785&r1=331784&r2=331785&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java Tue Nov  8 03:05:23 2005
@@ -993,12 +993,16 @@
                     }
                 	else
                 	{
-                		writer.write("\tparam->"
-                            + attribs[i].getParamNameAsMember()
-                            + " = pIWSDZ->"
-                            + CUtils.getParameterGetValueMethodName(attribs[i]
-                                    .getTypeName(), attribs[i].isAttribute())
-                            + "( \"" + soapTagName + "\",0);\n");
+                		String typeName = attribs[i].getTypeName();
+                		String elementName = attribs[i].getParamNameAsMember();
+                		
+                		writer.write("\t" + typeName + " *	pValue = pIWSDZ->" +
+                		        	 CUtils.getParameterGetValueMethodName(typeName, attribs[i].isAttribute()) +
+                		        	 "( \"" + soapTagName + "\", 0);\n\n");
+                		writer.write("\tparam->" + elementName + " = new " + typeName + "();\n");
+                		writer.write("\t*param->" + elementName + " = *pValue;\n\n");
+                		writer.write("\tAxis::AxisDelete( (void *) pValue, " + CUtils.getXSDTypeForBasicType( typeName) + ");\n\n");
+
                 	}
                 } 
                 else