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 "Mark Whitlock (JIRA)" <ax...@ws.apache.org> on 2005/06/13 15:54:49 UTC
[jira] Closed: (AXISCPP-679) Data not passed back from multiple output parameters
[ http://issues.apache.org/jira/browse/AXISCPP-679?page=all ]
Mark Whitlock closed AXISCPP-679:
---------------------------------
Resolution: Fixed
This issue is now fixed and tested by the MultiOut unit test
> Data not passed back from multiple output parameters
> ----------------------------------------------------
>
> Key: AXISCPP-679
> URL: http://issues.apache.org/jira/browse/AXISCPP-679
> Project: Axis-C++
> Type: Bug
> Components: WSDL processing - Doc
> Reporter: Mark Whitlock
> Assignee: Mark Whitlock
> Priority: Critical
>
> I have a wsdl that has multiple output parameters...
> <element name="get">
> <complexType>
> <sequence>
> <element name="out1" type="xsd:string"/>
> <element name="out14" type="xsd:integer"/>
> <element name="out15" type="xsd:int"/>
> <element name="out16" type="xsd:long"/>
> <element name="out17" type="xsd:short"/>
> <element name="out18" type="xsd:decimal"/>
> <element name="out19" type="xsd:float"/>
> <element name="out20" type="xsd:double"/>
> <element name="out21" type="xsd:boolean"/>
> <element name="out22" type="xsd:byte"/>
> </sequence>
> </complexType>
> </element>
> </schema>
> </wsdl:types>
> <wsdl:message name="get0">
> <wsdl:part element="impl:get0" name="parameters"/>
> </wsdl:message>
> <wsdl:message name="get">
> <wsdl:part element="impl:get" name="parameters"/>
> </wsdl:message>
> <wsdl:portType name="MultiOut">
> <wsdl:operation name="get">
> <wsdl:input message="impl:get0" name="get0"/>
> <wsdl:output message="impl:get" name="get"/>
> </wsdl:operation>
> </wsdl:portType>
> The code that WSDL2Ws generates does not work...
> void MultiOut::get(xsd__int Value0, AXIS_OUT_PARAM xsd__string* OutValue0, AXIS_OUT_PARAM xsd__integer* OutValue1, AXIS_OUT_PARAM xsd__int* OutValue2, AXIS_OUT_PARAM xsd__long* OutValue3, AXIS_OUT_PARAM xsd__short* OutValue4, AXIS_OUT_PARAM xsd__decimal* OutValue5, AXIS_OUT_PARAM xsd__float* OutValue6, AXIS_OUT_PARAM xsd__double* OutValue7, AXIS_OUT_PARAM xsd__boolean* OutValue8, AXIS_OUT_PARAM xsd__byte* OutValue9)
> {
> ...
> OutValue1 = m_pCall->getElementAsInteger("out14", 0);
> ...
> }
> because altering OutValue1 will not affect what the application receives since OutValue1 is passed by value and the contents of OutValue1 are not updated. The line should be
> *OutValue1 = *(m_pCall->getElementAsInteger("out14", 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