Hello! I have problem with generating server side code from my wsdl file. The wsdl file contains a service, getAtcsByAtcCode, that should return an array of Atc-objects. But my generated code returns OMElement[] instead.
I use this wsdl file: <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="http://main.sol" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:tns="http://main.sol" 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> <schema elementFormDefault="qualified" targetNamespace="http://main.sol" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:tns="http://main.sol" xmlns:intf="http://main.sol" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <element name="Atc"> <complexType> <sequence> <element name="atcCode" type="xsd:string"/> <element name="lev" type="xsd:int"/> <element name="textSv" type="xsd:string"/> <element name="MAX_LEN_atcCode" type="xsd:string"/> <element name="MAX_LEN_textSv" type="xsd:string"/> </sequence> </complexType> </element> <element name="getAtcsByAtcCode"> <complexType> <sequence> <element name="atcCode" type="xsd:string"/> </sequence> </complexType> </element> <element name="getAtcsByAtcCodeResponse"> <complexType> <sequence> <element maxOccurs="unbounded" minOccurs="0" name="return" type="tns:Atc"/> </sequence> </complexType> </element> <element name="SolException"> <complexType> <sequence> <element name="errorCode" type="xsd:int"/> <element name="errorMsg" type="xsd:string"/> </sequence> </complexType> </element> </schema> </wsdl:types> <wsdl:message name="getAtcsByAtcCodeRequest"> <wsdl:part element="tns:getAtcsByAtcCode" name="parameters"/> </wsdl:message> <wsdl:message name="getAtcsByAtcCodeResponse"> <wsdl:part element="tns:getAtcsByAtcCodeResponse" name="return"/> </wsdl:message> <wsdl:message name="SolExceptionMessage"> <wsdl:part element="tns:SolException" name="fault"/> </wsdl:message> <wsdl:portType name="SolDB2"> <wsdl:operation name="getAtcsByAtcCode"> <wsdl:input message="tns:getAtcsByAtcCodeRequest" name="getAtcsByAtcCodeRequest"/> <wsdl:output message="tns:getAtcsByAtcCodeResponse" name="getAtcsByAtcCodeResponse"/> <wsdl:fault message="tns:SolExceptionMessage" name="SolExceptionFault"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="SolDB2SoapBinding" type="tns:SolDB2"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getAtcsByAtcCode"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getAtcsByAtcCodeRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="getAtcsByAtcCodeResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> <wsdl:fault name="SolExceptionFault"> <wsdlsoap:fault name="SolExceptionFault" use="literal"/> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="SolDB2"> <wsdl:port binding="tns:SolDB2SoapBinding" name="SolDB2"> <wsdlsoap:address location="http://localhost:8080/axis2/services/SolDB2"/> </wsdl:port> </wsdl:service> </wsdl:definitions> I generate my service with the following ant task: (lib directory contains all Axis2 jars) <target name="gen.sol.src.service"> <delete dir="soltarget"/> <mkdir dir="soltarget"/> <mkdir dir="soltarget/classes"/> <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true"> <arg line="-uri SolDB2.wsdl"/> <arg line="-d adb"/> <arg line="-ss"/> <arg line="-sd"/> <arg line="-o soltarget"/> <classpath> <fileset dir=".\lib"> <include name="*.jar"/> </fileset> </classpath> </java> </target> When I check the generated file GetAtcsByAtcCodeResponse.java I see that the object contains an array of org.apache.axiom.om.OMElement[] instead of sol.main.Atc[]. Is there something wrong with my wsdl file? Or is this the way to do when returning array of objects at the service side? Regards Pär Malmqvist _________________________________________________________________ Share your memories online with anyone you want. http://www.microsoft.com/middleeast/windows/windowslive/products/photos-share.aspx?tab=1