You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2006/02/22 11:24:34 UTC
svn commit: r379738 -
/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java
Author: dicka
Date: Wed Feb 22 02:24:32 2006
New Revision: 379738
URL: http://svn.apache.org/viewcvs?rev=379738&view=rev
Log:
AXISCPP-903
Resolve problem of incorrectly passing address of pointer rather than pointer to string-based types when using serializeAsChardata(...) method.
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=379738&r1=379737&r2=379738&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 Wed Feb 22 02:24:32 2006
@@ -493,11 +493,16 @@
if (extensionBaseAttrib != null)
{
- writer.write("\tpSZ->serializeAsChardata((void*)&(param->"
+ String typeName = extensionBaseAttrib.getTypeName();
+ writer.write("\tpSZ->serializeAsChardata((void*)");
+ if (!CUtils.isPointerType(typeName))
+ {
+ writer.write("&");
+ }
+ writer.write("(param->"
+ extensionBaseAttrib.getParamNameAsMember()
+ "), "
- + CUtils.getXSDTypeForBasicType(extensionBaseAttrib
- .getTypeName()) + ");\n");
+ + CUtils.getXSDTypeForBasicType(typeName) + ");\n");
}
else
{
@@ -609,13 +614,21 @@
}
writer.write("\tpSZ->serialize( \">\", 0);\n");
- if (extensionBaseAttrib != null
- && extensionBaseAttrib.getTypeName() != null)
+ if (extensionBaseAttrib != null)
{
- writer.write("\tpSZ->serializeAsChardata((void*)&(param->"
- + extensionBaseAttrib.getParamNameAsMember()
- + "), "
- + CUtils.getXSDTypeForBasicType(extensionBaseAttrib.getTypeName()) + ");\n");
+ String typeName = extensionBaseAttrib.getTypeName();
+ if( typeName != null)
+ {
+ writer.write("\tpSZ->serializeAsChardata((void*)");
+ if (!CUtils.isPointerType(typeName))
+ {
+ writer.write("&");
+ }
+ writer.write("(param->"
+ + extensionBaseAttrib.getParamNameAsMember()
+ + "), "
+ + CUtils.getXSDTypeForBasicType(typeName) + ");\n");
+ }
}
writer.write("\n\t/* then serialize elements if any*/\n");