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] 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
         URL: http://issues.apache.org/jira/browse/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">
    <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