Hi Benoit , Please create a JIRA and attach your wsdl , then we can look into it
Thanks Deepal > Hi, > > I’m having problems with the code generated by wsdl2java (precisely using > the maven2 plugin). I'm using Axis2 1.3 with the ADB binding. > > It seems that the generator gets confused because an operation is declared > in a given XML namespace and a bean used in the response of the operation is > declared in a different namespace. > > The sample WSDL below illustrates the situation. The operation "timer" and > its associated messages "timerRequest" and "timerResponse" belong to the > namespace "http://mycompany.com/myservice" however the data structure > ReturnStructure is defined with the namespace > "http://mycompany.com/core/beans". > > In this situation, the generated code for the message TimerResponse expects > an element ReturnStructure with namespace http://mycompany.com/myservice > instead of "http://mycompany.com/core/beans". > > When the code is run, the parse method of TimerResponse class throws an > ADBException "Unexepected subelement ReturnStructure" when the response is > parsed. > > Is there something wrong with my WSDL (which is generated using another > tool)? Or is this a bug? > > Help would be appreciated... > > Regards > > Benoit > > ====== > > The part of my pom.xml that defines the use of the maven2 plugin: > > <build> > <plugins> > <plugin> > <groupId>org.apache.axis2</groupId> > <artifactId>axis2-wsdl2code-maven-plugin</artifactId> > <version>1.3</version> > <executions> > <execution> > <goals> > <goal>wsdl2code</goal> > </goals> > <configuration> > <databindingName>adb</databindingName> > > <packageName>org.mycompany.myservice.axis2client</packageName> > > <wsdlFile>src/main/resources/myservice.wsdl</wsdlFile> > > <outputDirectory>target/generated-sources/axis2/wsdl2code</outputDirectory> > <unpackClasses>true</unpackClasses> > <syncMode>sync</syncMode> > > </configuration> > </execution> > </executions> > </plugin> > </plugins> > </build> > > ====== > > The portion of code that causes the problem is located in TimerResponse.java > > if (reader.isStartElement() && new > javax.xml.namespace.QName("http://mycompany.com/myservice","ReturnStructure").equals(reader.getName())){ > nillableValue = > reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil"); > if ("true".equals(nillableValue) || "1".equals(nillableValue)){ > object.setReturnStructure(null); > reader.next(); > reader.next(); > > }else{ > > > object.setReturnStructure(com.mycompany.core.beans.ReturnStructure.Factory.parse(reader)); > > reader.next(); > } > } // End of if for expected property start element > > else{ > // A start element we are not expecting indicates an invalid parameter > was > passed > throw new org.apache.axis2.databinding.ADBException("Unexpected > subelement > " + reader.getLocalName()); } > > ===== > > The WSDL: > > <?xml version="1.0" encoding="UTF-8"?> > <wsdl:definitions targetNamespace="http://mycompany.com/myservice" > xmlns:tns="http://mycompany.com/myservice" > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" > xmlns:ns1="http://mycompany.com/core/beans" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" > xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> > <wsdl:types> > <schema xmlns="http://www.w3.org/2001/XMLSchema" > elementFormDefault="qualified" > targetNamespace="http://mycompany.com/core/beans"> > <complexType name="ReturnStructure"> > <sequence> > <element maxOccurs="1" minOccurs="1" > name="code" type="int"></element> > <element maxOccurs="1" minOccurs="0" > name="subCode" > type="int"></element> > <element maxOccurs="1" minOccurs="0" > name="message" > type="string"></element> > </sequence> > </complexType> > > </schema> > <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" > attributeFormDefault="qualified" elementFormDefault="qualified" > targetNamespace="http://mycompany.com/myservice"> > <xsd:element name="timer"> > <xsd:complexType> > <xsd:sequence> > <xsd:element maxOccurs="1" > minOccurs="1" name="nbExecutions" > type="xsd:int" /> > <xsd:element maxOccurs="1" > minOccurs="1" name="lapDuration" > type="xsd:int" /> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > <xsd:element name="timerResponse"> > <xsd:complexType> > <xsd:sequence> > <xsd:element maxOccurs="1" > minOccurs="1" name="ReturnStructure" > nillable="true" type="ns1:ReturnStructure" /> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > </xsd:schema> > </wsdl:types> > <wsdl:message name="timerRequest"> > <wsdl:part name="parameters" element="tns:timer" /> > </wsdl:message> > <wsdl:message name="timerResponse"> > <wsdl:part name="parameters" element="tns:timerResponse" /> > </wsdl:message> > <wsdl:portType name="MyService"> > <wsdl:operation name="timer"> > <wsdl:input name="timerRequest" > message="tns:timerRequest" /> > <wsdl:output name="timerResponse" > message="tns:timerResponse" /> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="MyServiceHttpBinding" type="tns:MyService"> > <wsdlsoap:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http" /> > <wsdl:operation name="timer"> > <wsdlsoap:operation soapAction="" /> > <wsdl:input name="timerRequest"> > <wsdlsoap:body use="literal" /> > </wsdl:input> > <wsdl:output name="timerResponse"> > <wsdlsoap:body use="literal" /> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="MyService"> > <wsdl:port name="MyServiceHttpPort" > binding="tns:MyServiceHttpBinding"> > <wsdlsoap:address > location="http://myserver:30075/services/MyService" /> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > > > > > Benoît Guillon * NTIC * SunGard * Asset Arena Investment Accounting * 7 rue > Royale, 173 Bureaux de la Colline, Bâtiment E, 92213 Saint-Cloud Cedex, > France * Tel +33 1 49 11 31 87 * Fax +33 1 49 11 30 30 * > www.sungard.com/assetarena > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]