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

Reply via email to