axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Whitlock (JIRA)" <axis-c-...@ws.apache.org>
Subject [jira] Closed: (AXISCPP-679) Data not passed back from multiple output parameters
Date Mon, 13 Jun 2005 13:54:49 GMT
     [ 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


Mime
View raw message