axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Whitlock (JIRA)" <>
Subject [jira] Created: (AXISCPP-679) Data not passed back from multiple output parameters
Date Wed, 08 Jun 2005 15:53:15 GMT
Data not passed back from multiple output parameters

         Key: AXISCPP-679
     Project: Axis-C++
        Type: Bug
  Components: WSDL processing - Doc  
    Reporter: Mark Whitlock
    Priority: Critical

I have a wsdl that has multiple output parameters...

   <element name="get">
      <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"/>

   <wsdl:message name="get0">
      <wsdl:part element="impl:get0" name="parameters"/>
   <wsdl:message name="get">
      <wsdl:part element="impl:get" name="parameters"/>

   <wsdl:portType name="MultiOut">
      <wsdl:operation name="get">
         <wsdl:input message="impl:get0" name="get0"/>
         <wsdl:output message="impl:get" name="get"/>

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:
For more information on JIRA, see:

View raw message