[ 
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]

Reply via email to