You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Deepal Jayasinghe (JIRA)" <ji...@apache.org> on 2007/07/12 13:19:04 UTC

[jira] Assigned: (AXIS2-2952) wsdl2java -d jaxrbi does not corretly handle namespace "http://www.w3.org/XML/1998/namespace"

     [ https://issues.apache.org/jira/browse/AXIS2-2952?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Deepal Jayasinghe reassigned AXIS2-2952:
----------------------------------------

    Assignee: Dennis Sosnoski

> 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: Dennis Sosnoski
>         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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org