I'm trying to generate C code from a WSDL file. A part of the result
(skeleton) won't compile, because VS complains about *[] :
/**
* auto generated function declaration
* for "measureECG|http://www.xyz.com/algorithm/" operation.
* @param env environment ( mandatory)
* @param _in of the axis2_char_t*
* @param _ecgIn of the axutil_base64_binary_t*
*
* @return adb_measurement_t*[]
*/
adb_measurement_t*[] axis2_skel_algorithm_measureECG(const
axutil_env_t *env,
axis2_char_t* _in,
axutil_base64_binary_t* _ecgIn
);
The command line is
wsdl2c -s -ss -u -uw -sd -uri c:\algorithm.wsdl
The WSDL file is below. Any ideas? I'd hate to modify the generated code.
Thanks,
Thomas
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.xyz.com/algorithm/" xmlns:wsdl="
http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="
http://www.w3.org/2001/XMLSchema" name="algorithm" targetNamespace="
http://www.xyz.com/algorithm/">
<wsdl:types>
<xsd:schema targetNamespace="http://www.xyz.com/algorithm/">
<xsd:element name="measureECG">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="in" type="xsd:string"/>
<xsd:element name="ecgIn" type="xsd:base64Binary"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="measureECGResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="out" type="tns:measurement" minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="measurement">
<xsd:complexContent>
<xsd:extension base="tns:GenericEntity">
<xsd:sequence>
<xsd:element name="type" type="xsd:integer"/>
<xsd:element name="lead" type="xsd:string" nillable="true"/>
<xsd:element name="value" type="xsd:float"/>
<xsd:element name="onset" type="xsd:float"/>
<xsd:element name="offset" type="xsd:float"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="GenericEntity" abstract="false">
<xsd:sequence>
<xsd:element name="comment" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="measureECGRequest">
<wsdl:part element="tns:measureECG" name="parameters"/>
</wsdl:message>
<wsdl:message name="measureECGResponse">
<wsdl:part element="tns:measureECGResponse" name="parameters"/>
</wsdl:message>
<wsdl:portType name="algorithm">
<wsdl:operation name="measureECG">
<wsdl:input message="tns:measureECGRequest"/>
<wsdl:output message="tns:measureECGResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="algorithmSOAP" type="tns:algorithm">
<soap:binding style="document" transport="
http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="measureECG">
<soap:operation soapAction="http://www.ert.com/algorithm/measureECG"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="algorithm">
<wsdl:port binding="tns:algorithmSOAP" name="algorithmSOAP">
<soap:address location="http://localhost:9090/axis2/services/algorithm"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>