You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Franz Fehringer (JIRA)" <ax...@ws.apache.org> on 2006/01/18 08:54:47 UTC

[jira] Created: (AXISCPP-903) extra ampersand in serializexxx methods

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


[jira] Resolved: (AXISCPP-903) extra ampersand in serializexxx methods

Posted by "Adrian Dick (JIRA)" <ax...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/AXISCPP-903?page=all ]
     
Adrian Dick resolved AXISCPP-903:
---------------------------------

    Fix Version: current (nightly)
     Resolution: Fixed

I have provided a fix into WSDL2Ws which now produces the expected code for your WSDL.

This will be available in the next nightly build.

> 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
>     Assignee: Adrian Dick
>      Fix For: current (nightly)
>  Attachments: t_OrgNameSearch.cpp, 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


[jira] Updated: (AXISCPP-903) extra ampersand in serializexxx methods

Posted by "Franz Fehringer (JIRA)" <ax...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/AXISCPP-903?page=all ]

Franz Fehringer updated AXISCPP-903:
------------------------------------

    Attachment: t_OrgNameSearch.cpp

> 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: t_OrgNameSearch.cpp, 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


[jira] Assigned: (AXISCPP-903) extra ampersand in serializexxx methods

Posted by "Adrian Dick (JIRA)" <ax...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/AXISCPP-903?page=all ]

Adrian Dick reassigned AXISCPP-903:
-----------------------------------

    Assign To: Adrian Dick

> 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
>     Assignee: Adrian Dick
>  Attachments: t_OrgNameSearch.cpp, 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


[jira] Updated: (AXISCPP-903) extra ampersand in serializexxx methods

Posted by "Franz Fehringer (JIRA)" <ax...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/AXISCPP-903?page=all ]

Franz Fehringer updated AXISCPP-903:
------------------------------------

    Attachment: vakanz.wsdl
                vakanz.xsd

> 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


[jira] Closed: (AXISCPP-903) extra ampersand in serializexxx methods

Posted by "nadir amra (JIRA)" <ax...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/AXISCPP-903?page=all ]

nadir amra closed AXISCPP-903.
------------------------------


> extra ampersand in serializexxx methods
> ---------------------------------------
>
>                 Key: AXISCPP-903
>                 URL: http://issues.apache.org/jira/browse/AXISCPP-903
>             Project: Axis-C++
>          Issue Type: Bug
>    Affects Versions: 1.6 Alpha
>         Environment: WIN2KSP4 JDK1.5.0_06 MSVC6SP6
>            Reporter: Franz Fehringer
>         Assigned To: Adrian Dick
>             Fix For: current (nightly)
>
>         Attachments: t_OrgNameSearch.cpp, 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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org