[ https://issues.apache.org/jira/browse/AXISCPP-333?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
nadir amra updated AXISCPP-333: ------------------------------- Comment: was deleted > WSDL2ws doesn't handle complex Array types correctly when nested or when > returning as AXIS_OUT_PARAM > ---------------------------------------------------------------------------------------------------- > > Key: AXISCPP-333 > URL: https://issues.apache.org/jira/browse/AXISCPP-333 > Project: Axis-C++ > Issue Type: Bug > Components: WSDL processing - Doc, WSDL processing - RPC > Affects Versions: current (nightly) > Environment: Tested on win32 > Reporter: Steve Hardy > Attachments: test.wsdl > > > When returning an Array type as an AXIS_OUT_PARAM (a.k.a. when there is more > than 1 return value), the wrong cast is used by WSDL2ws to cast to the return > type .. > the following WSDL2ws generated uncompileable client-side code, due to the > use of my defined cTypeArrayArray type (which does not exist in cpp > namespace) instead of the cTypeArray_Array which WSDL2ws creates. > The cTypeArray_Array in turn, references "cTypeArray" instead of "cType_Array" > This problem also arises when there are no nested arrays in use. > <?xml version="1.0" encoding="UTF-8"?> > <wsdl:definitions targetNamespace="http://localhost/axis/test" > xmlns="http://schemas.xmlsoap.org/wsdl/" > xmlns:apachesoap="http://xml.apache.org/xml-soap" > xmlns:test="http://localhost/axis/test" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <wsdl:types> > <wsdl:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > targetNamespace="http://localhost/axis/test"> > <xs:import namespace = "http://schemas.xmlsoap.org/soap/encoding/"/> > <xs:complexType name="hiloType"> > <xs:sequence> > <xs:element name="hi" type="xs:int"/> > <xs:element name="lo" type="xs:unsignedInt"/> > </xs:sequence> > </xs:complexType> > <xs:complexType name="cType"> > <xs:sequence> > <xs:element name="a" type="xs:int"/> > <xs:element name="b" type="test:hiloType"/> > </xs:sequence> > </xs:complexType> > > <xs:complexType name="cTypeArray"> > <xs:complexContent> > <xs:restriction base="soapenc:Array"> > <xs:attribute ref="soapenc:arrayType" > wsdl:arrayType="test:cType[]"/> > </xs:restriction> > </xs:complexContent> > </xs:complexType> > > <xs:complexType name="cTypeArrayArray"> > <xs:complexContent> > <xs:restriction base="soapenc:Array"> > <xs:attribute ref="soapenc:arrayType" > wsdl:arrayType="test:cTypeArray[]"/> > </xs:restriction> > </xs:complexContent> > </xs:complexType> > > </wsdl:schema> > </wsdl:types> > <wsdl:message name="testRequest"> > <wsdl:part name="a" type="xsd:int"/> > </wsdl:message> > <wsdl:message name="testResponse"> > <wsdl:part name="b" type="xsd:int"/> > <wsdl:part name="result" type="test:cTypeArrayArray"/> > </wsdl:message> > <wsdl:portType name="test"> > <wsdl:operation name="test" parameterOrder="a"> > <wsdl:input message="test:testRequest" name="testRequest"/> > <wsdl:output message="test:testResponse" name="testResponse"/> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="testBinding" type="test:test"> > <wsdlsoap:binding style="rpc" > transport="http://schemas.xmlsoap.org/soap/http"/> > <wsdl:operation name="test"> > <wsdl:input name="testRequest"> > <wsdlsoap:body > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="http://localhost/axis/test" use="encoded"/> > </wsdl:input> > <wsdl:output name="testResponse"> > <wsdlsoap:body > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="http://localhost/axis/test" use="encoded"/> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="test"> > <wsdl:port binding="test:testBinding" name="test"> > <wsdlsoap:address location="http://localhost/axis/test"/> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]