[
http://issues.apache.org/jira/browse/AXISCPP-550?page=comments#action_60942 ]
Dushshantha Chandradasa commented on AXISCPP-550:
-------------------------------------------------
Samisa,
most of the test clients are compiling except InteropTestRound1Doc. It gives
following errors..
[cc] InteropTestPortType.cpp
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestPortType.h
pp(34) : error C2061: syntax error : identifier 'Value0'
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestPortType.h
pp(36) : error C2061: syntax error : identifier 'Value0'
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestPortType.c
pp(622) : error C2501: 'echoBase64' : missing storage-class or type specifiers
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestPortType.c
pp(622) : error C2511: 'echoBase64' : overloaded member function 'int *(char)' n
ot found in 'InteropTestPortType'
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestPo
rtType.hpp(16) : see declaration of 'InteropTestPortType'
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestPortType.c
pp(752) : error C2501: 'echoHexBinary' : missing storage-class or type specifier
s
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestPortType.c
pp(752) : error C2511: 'echoHexBinary' : overloaded member function 'int *(char)
' not found in 'InteropTestPortType'
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestPo
rtType.hpp(16) : see declaration of 'InteropTestPortType'
[cc] InteropTestRound1DocClient.cpp
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestPortType.h
pp(34) : error C2061: syntax error : identifier 'Value0'
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestPortType.h
pp(36) : error C2061: syntax error : identifier 'Value0'
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestRound1DocC
lient.cpp(75) : warning C4305: 'initializing' : truncation from 'const double' t
o 'float'
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestRound1DocC
lient.cpp(95) : warning C4305: '=' : truncation from 'const double' to 'float'
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestRound1DocC
lient.cpp(105) : error C2440: '=' : cannot convert from 'class SOAPStruct *' to
'class SOAPStruct ** '
[cc] Types pointed to are unrelated; conversion requires reinterp
ret_cast, C-style cast or function-style cast
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestRound1DocC
lient.cpp(109) : error C2228: left of '.varFloat' must have class/struct/union t
ype
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestRound1DocC
lient.cpp(110) : error C2228: left of '.varInt' must have class/struct/union typ
e
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestRound1DocC
lient.cpp(112) : error C2228: left of '.varString' must have class/struct/union
type
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestRound1DocC
lient.cpp(132) : error C2660: 'echoBase64' : function does not take 1 parameters
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestRound1DocC
lient.cpp(132) : error C2228: left of '.__size' must have class/struct/union typ
e
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestRound1DocC
lient.cpp(144) : error C2664: 'echoDate' : cannot convert parameter 1 from 'stru
ct tm' to 'struct tm *'
[cc] No user-defined-conversion operator available that can perfo
rm this conversion, or the operator cannot be called
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestRound1DocC
lient.cpp(154) : error C2660: 'echoHexBinary' : function does not take 1 paramet
ers
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestRound1DocC
lient.cpp(154) : error C2228: left of '.__size' must have class/struct/union typ
e
[cc] C:\obj\test\generated\cpp\InteropTestRound1Doc\InteropTestRound1DocC
lient.cpp(163) : error C2664: 'echoDecimal' : cannot convert parameter 1 from 'c
onst double' to 'double *'
[cc] There is no context in which this conversion is possible
[cc] SOAPStruct.cpp
Andrew,
problem still there????
> WSDL2Ws does not always use the element names from WSDL
> -------------------------------------------------------
>
> Key: AXISCPP-550
> URL: http://issues.apache.org/jira/browse/AXISCPP-550
> Project: Axis-C++
> Type: Bug
> Components: WSDL processing
> Reporter: Andrew Perry
> Assignee: Samisa Abeysinghe
>
> I have created a WSDL to test nested complex types with arrays of complex
> types which also contain simple arrays as well as other data elements.
> The WSDL definition of one of the complex types is
> ---------------------------------------------
> <complexType name="ComplexType1">
> <sequence>
> <element name="simpleArrays" nillable="true"
> type="impl:SimpleArrays"/>
> <element name="string" nillable="true" type="xsd:string"/>
> <element name="int" type="xsd:int"/>
> </sequence>
> </complexType>
> ---------------------------------------------
> The generated stubs for one of the nested complex types has named the
> elements as follows:
> public:
> SimpleArrays* simpleArrays;
> xsd__string _string;
> xsd__int _int;
> In the WSDL the element names are reserved words in the 'C/C++' language so
> the '_' is put in the element name. Unfortunately it was also using this
> name in the Axis_Serialize_xxx method for serializing the elements,
> pSZ->serializeAsElement("_string", Axis_URI_ComplexType1,
> (void*)(param->str_string), XSD_STRING); rather than the name of the
> element from the WSDL which is just "string" and "int" without the '_'.
> This causes an Internal Server Error as the element names do not match the
> name in the WSDL so the server doesn't know what to do.
> ---------- formatted for clarity ----------
> HTTP/1.1 500 Internal Server Error
> Server: WebSphere Application Server/5.1
> Content-Type: text/xml; charset=utf-8
> Content-Language: en-US
> Transfer-Encoding: chunked
> 2ec
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <soapenv:Body>
> <soapenv:Fault>
> <faultcode xmlns="">Server.generalException</faultcode>
> <faultstring xmlns="">
> <![CDATA[org.xml.sax.SAXException: WSWS3047E: Error: Cannot
> deserialize element _string of bean
> org.apache.test.nestedcomplex.ComplexType1. To see the message containing
> the parsing error in the log, either enable web service engine tracing or
> set MessageContext.setHighFidelity(true).]]>
> </faultstring>
> <detail xmlns=""/>
> </soapenv:Fault>
> </soapenv:Body>
> </soapenv:Envelope>
> 0
> ---------------------------------------------
> By manually editing the generated stubs to use the correct element name
> from the WSDL the test works.
> Attached WSDL. (See attached file: NestedComplex.wsdl)
> Also changing the names in the WSDL will solve it, but that's not the
> point.
--
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
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira