Details
Description
[Error Statement]:
I have used AxisCPP1.6Beta version to generate SampleTestSoapWrapper.cpp as the below:
Function: int SampleTestSoapWrapper::GetOperation(void* pMsg)
xsd_string v0 = *(pIWSDZ->getElementAsString("ListType", 0));
The generated code has bug: xsd_string is already indeed a "char ", so should not reference it's content by "".
The correct code I expected is:
xsd_string v0 = pIWSDZ->getElementAsString("ListType", 0);
[solution]:
I have investigated the source code of AxisCPP/WSDL2Ws tool, and found that if I modify the following code at about line 217~234 in writeMethodInWrapper method that belongs to WrapWriter (wsdl2ws/cpp/iteral) class, the above bug can be resolved.
else
{ writer.write( "\t" + paraTypeName + " v" + i //<mxiong debug 20060425 + " = pIWSDZ->" // + " = *(pIWSDZ->" //>mxiong debug 20060425 + CUtils.getParameterGetValueMethodName( paraTypeName, false) + "(\"" + elementName // <mxiong debug 20060425 // + "\",0));\n"); + "\",0);\n"); // >mxiong debug 20060425 }So I think it's a bug.
[other]
I will create a patch for you and upload it later.