extra ampersand in serializexxx methods
---------------------------------------
Key: AXISCPP-903
URL: http://issues.apache.org/jira/browse/AXISCPP-903
Project: Axis-C++
Type: Bug
Versions: 1.6 Alpha
Environment: WIN2KSP4 JDK1.5.0_06 MSVC6SP6
Reporter: Franz Fehringer
Attachments: vakanz.wsdl, vakanz.xsd
Both AxisC 1.5 and the upcoming 1.6 have issues with serializexxx methods in
generated code.
The point is that all data items are passed as void* (opaque pointers).
Therefore integer items get an ampersand & applied in front like
pSZ->serializeAsAttribute( "xsi:nil", 0, (void*)&(xsd_boolean_true),
XSD_BOOLEAN);
But string/char*/AxisChar* items are already pointers themselves, so no
ampersand should be applied:
pSZ->serializeAsAttribute("MatchType", 0, (void*)(param->MatchType),
XSD_NMTOKEN);
What can now observed with my example is that AxisC 1.5 does it wrong in two
places:
pSZ->serializeAsAttribute("MatchType", 0, (void*)&(param->MatchType),
XSD_NMTOKEN);
pSZ->serializeAsChardata((void*)&(param->t_OrgNameSearch_value), XSD_STRING);
whereas AxisC 1.6 is right in the first and still wrong in the second case:
pSZ->serializeAsAttribute("MatchType", 0, (void*)(param->MatchType),
XSD_NMTOKEN);
pSZ->serializeAsChardata((void*)&(param->t_OrgNameSearch_value), XSD_STRING);
Note that the attached generated sources are from AxisC 1.6.
AxisC 1.5 has other issues with the code in question (attributes of type
XSD_NMTOKEN are not serialized at all; members of structs already out of scope
are accessed), but these seem to be fixed with AxisC 1.6.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira