[ 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

Reply via email to