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 "Fred Preston (JIRA)" <ax...@ws.apache.org> on 2005/10/06 13:50:47 UTC

[jira] Created: (AXISCPP-851) Multiple output parameters not handled correctly when they are objects rather than base types.

Multiple output parameters not handled correctly when they are objects rather than base types.
----------------------------------------------------------------------------------------------

         Key: AXISCPP-851
         URL: http://issues.apache.org/jira/browse/AXISCPP-851
     Project: Axis-C++
        Type: Bug
  Components: WSDL processing - RPC, WSDL processing - Doc  
 Environment: n/a
    Reporter: Fred Preston


When the response is a complex type the web service method uses output parameters in the method input parameter list.  For example, if the response is 'Status' and Status is a complex type containing a return code and a return info string, then the web service will have the following format:-

void webService.method( AXIS_OUT_PARAM  Status** OutValue0)

This is fine, but the code that places the Status object into the OutValue0 is incorrect.  Currently, the code is as follows:-

*OutValue0 = *(Status*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_Status, (void*) Axis_Create_Status, (void*) Axis_Delete_Status,"retval", 0);

This code dereferences the pointer returned by getCmplxObject too many times.  The correct code should be:-

*OutValue0 = (Status*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_Status, (void*) Axis_Create_Status, (void*) Axis_Delete_Status,"retval", 0);


-- 
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-851) Multiple output parameters not handled correctly when they are objects rather than base types.

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

    Resolution: Fixed

i fixed this problem. Added a test case to this scenario. I eddited InOut.wsdl to include this test. multiComplexParametersMultiComplexReturn function tests this.

> Multiple output parameters not handled correctly when they are objects rather than base types.
> ----------------------------------------------------------------------------------------------
>
>          Key: AXISCPP-851
>          URL: http://issues.apache.org/jira/browse/AXISCPP-851
>      Project: Axis-C++
>         Type: Bug
>   Components: WSDL processing - RPC, WSDL processing - Doc
>  Environment: n/a
>     Reporter: Fred Preston
>     Assignee: Dushshantha Chandradasa

>
> When the response is a complex type the web service method uses output parameters in the method input parameter list.  For example, if the response is 'Status' and Status is a complex type containing a return code and a return info string, then the web service will have the following format:-
> void webService.method( AXIS_OUT_PARAM  Status** OutValue0)
> This is fine, but the code that places the Status object into the OutValue0 is incorrect.  Currently, the code is as follows:-
> *OutValue0 = *(Status*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_Status, (void*) Axis_Create_Status, (void*) Axis_Delete_Status,"retval", 0);
> This code dereferences the pointer returned by getCmplxObject too many times.  The correct code should be:-
> *OutValue0 = (Status*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_Status, (void*) Axis_Create_Status, (void*) Axis_Delete_Status,"retval", 0);

-- 
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-851) Multiple output parameters not handled correctly when they are objects rather than base types.

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


> Multiple output parameters not handled correctly when they are objects rather than base types.
> ----------------------------------------------------------------------------------------------
>
>          Key: AXISCPP-851
>          URL: http://issues.apache.org/jira/browse/AXISCPP-851
>      Project: Axis-C++
>         Type: Bug
>   Components: WSDL processing - RPC, WSDL processing - Doc
>  Environment: n/a
>     Reporter: Fred Preston
>     Assignee: Dushshantha Chandradasa

>
> When the response is a complex type the web service method uses output parameters in the method input parameter list.  For example, if the response is 'Status' and Status is a complex type containing a return code and a return info string, then the web service will have the following format:-
> void webService.method( AXIS_OUT_PARAM  Status** OutValue0)
> This is fine, but the code that places the Status object into the OutValue0 is incorrect.  Currently, the code is as follows:-
> *OutValue0 = *(Status*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_Status, (void*) Axis_Create_Status, (void*) Axis_Delete_Status,"retval", 0);
> This code dereferences the pointer returned by getCmplxObject too many times.  The correct code should be:-
> *OutValue0 = (Status*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_Status, (void*) Axis_Create_Status, (void*) Axis_Delete_Status,"retval", 0);

-- 
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-851) Multiple output parameters not handled correctly when they are objects rather than base types.

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

Dushshantha Chandradasa reassigned AXISCPP-851:
-----------------------------------------------

    Assign To: Dushshantha Chandradasa

> Multiple output parameters not handled correctly when they are objects rather than base types.
> ----------------------------------------------------------------------------------------------
>
>          Key: AXISCPP-851
>          URL: http://issues.apache.org/jira/browse/AXISCPP-851
>      Project: Axis-C++
>         Type: Bug
>   Components: WSDL processing - RPC, WSDL processing - Doc
>  Environment: n/a
>     Reporter: Fred Preston
>     Assignee: Dushshantha Chandradasa

>
> When the response is a complex type the web service method uses output parameters in the method input parameter list.  For example, if the response is 'Status' and Status is a complex type containing a return code and a return info string, then the web service will have the following format:-
> void webService.method( AXIS_OUT_PARAM  Status** OutValue0)
> This is fine, but the code that places the Status object into the OutValue0 is incorrect.  Currently, the code is as follows:-
> *OutValue0 = *(Status*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_Status, (void*) Axis_Create_Status, (void*) Axis_Delete_Status,"retval", 0);
> This code dereferences the pointer returned by getCmplxObject too many times.  The correct code should be:-
> *OutValue0 = (Status*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_Status, (void*) Axis_Create_Status, (void*) Axis_Delete_Status,"retval", 0);

-- 
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