You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Samisa Abeysinghe (JIRA)" <ax...@ws.apache.org> on 2005/03/16 04:11:22 UTC
[jira] Commented: (AXISCPP-550) WSDL2Ws does not always use the element names from WSDL
[ http://issues.apache.org/jira/browse/AXISCPP-550?page=comments#action_60934 ]
Samisa Abeysinghe commented on AXISCPP-550:
-------------------------------------------
Put a fix for this in CVS.
Regression testing in progress
> 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