[ https://issues.apache.org/jira/browse/AXIS2-2952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12517458 ]
Upul Godage commented on AXIS2-2952: ------------------------------------ I tried the given test.wsdl. But it gives NullPointerException when generating code. Probably because of the definitions/types/schema at two places have no "targetNamespace" entries defined. Not sure whether that is correct. But when I put the targetNamespace entries it generates fine. But I don't see org.w3.www.xml._1998.namespace package in generated code. (In the current source code there is a default package name setting done.) > wsdl2java -d jaxrbi does not corretly handle namespace > "http://www.w3.org/XML/1998/namespace" > --------------------------------------------------------------------------------------------- > > Key: AXIS2-2952 > URL: https://issues.apache.org/jira/browse/AXIS2-2952 > Project: Axis 2.0 (Axis2) > Issue Type: Bug > Components: databinding > Affects Versions: 1.2 > Environment: All platforms > Reporter: Denis Rachal > Assignee: Amila Chinthaka Suriarachchi > Attachments: test.wsdl > > > wsdl2java -d jaxrbi does not corretly handle namespace > "http://www.w3.org/XML/1998/namespace" > When using the namespace "http://www.w3.org/XML/1998/namespace" within an > XSD, wsdl2java with binding jaxbri puts the > generated code in the incorrect package. > I have an XSD that uses "xml:lang", defined in the namespace > "http://www.w3.org/XML/1998/namespace". Although you should not > need to declare the namespace prefix "xml" the XSD in this example does so > (see http://www.w3.org/XML/1998/namespace for > details). The WSDL2java will fail if it is not declared for this use case. > If the namespace "http://www.w3.org/XML/1998/namespace" is explicitely > declared and included, then the JAXB classes are put > into the package "org.w3.www.xml._1998.namespace" instead of the package for > the target namespace of the XSD. In this example > "http://schemas.xmlsoap.org/ws/2004/09/enumeration", which should be package > "org.xmlsoap.schemas.ws._2004._09.enumeration". > While this may seem to just be a bit of an annoyance, it can actually produce > errors in some cases. I have two different XSDs > that use "xml:lang" and include the "http://www.w3.org/XML/1998/namespace" > namespace. In the case where both XSDs are > referenced by a single WSDL one package is overwritten by the other during > the "wsdl2java" process and you end up with > classes in the wrong namespace. package-info.java gets overwritten when > processing the second XSD. Classes generated from the > first XSD end up with the wrong package-info.java file. > Even stranger is that if I have the two XSDs consumed by a single WSDL, the > overwrite does not always occur. Sometimes the > classes end up in the correct package for one of the XSDs. Simply by moving > the schemas and WSDLs to a new directory and > calling wsdl2java again may produce different results. Therefore I have only > documented this case as best as I can here. > WSDL file for reproducing this bug is attached: > <?xml version="1.0" encoding="UTF-8"?> > <wsdl:definitions > targetNamespace="http://schemas.xmlsoap.org/ws/2004/07/bug/test" > xmlns:tns="http://schemas.xmlsoap.org/ws/2004/07/bug/test" > xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" > xmlns:wsen="http://schemas.xmlsoap.org/ws/2004/09/enumeration" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:xs="http://www.w3.org/2001/XMLSchema" > xmlns:wsoap12="http://schemas.xmlsoap.org/wsdl/soap12/"> > <!-- Import external WSDL schemas --> > <wsdl:import > namespace="http://schemas.xmlsoap.org/ws/2004/09/enumeration" > > location="http://schemas.xmlsoap.org/ws/2004/09/enumeration/enumeration.wsdl" > /> > > <wsdl:types> > <xs:schema> > <xs:import > > namespace="http://schemas.xmlsoap.org/ws/2004/09/enumeration" > > schemaLocation="http://schemas.xmlsoap.org/ws/2004/09/enumeration/enumeration.xsd" > /> > </xs:schema> > </wsdl:types> > <wsdl:binding name="TestBinding" type="wsen:DataSource"> > <wsoap12:binding > transport="http://schemas.xmlsoap.org/soap/http" > style="document" /> > <!-- Operations --> > <wsdl:operation name="EnumerateOp"> > <wsoap12:operation > > soapAction="http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enumerate" /> > <wsdl:input> > <wsoap12:body message="wsen:EnumerateMessage" > parts="Body" use="literal" /> > </wsdl:input> > <wsdl:output> > <wsoap12:body wsdl:required="true" > message="wsen:EnumerateResponseMessage" > parts="Body" use="literal" /> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="TestService"> > <wsdl:documentation> > Test Service > </wsdl:documentation> > <wsdl:port name="TestResource" binding="tns:TestBinding"> > <wsoap12:address > location="http://localhost:8080/test/user/" /> > </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]