[
http://jira.jboss.com/jira/browse/JBWS-2018?page=all ]
Magesh Kumar B updated JBWS-2018:
---------------------------------
Workaround Description: Manually edit the wsdl. (was: Manually move the classes to
their appropriate packages.)
Description:
Consider the following SEI:
package org.jboss.test.ws.jbws1217;
public interface MySEI extends java.rmi.Remote
{
public void testException() throws com.other.exception.TestException,
java.rmi.RemoteException;
}
And the additional classes:
package com.other.exception;
public class TestException
extends com.other.base.BaseException{
public TestException(){
}
}
package com.other.base;
public class BaseException
extends Exception{
public BaseException(){
}
}
Using the following wstools config:
<configuration
xmlns="http://www.jboss.org/jbossws-tools">
<global>
<package-namespace package="com.other.base"
namespace="http://com.other.base"/>
<package-namespace package="com.other.exception"
namespace="http://com.other.exception"/>
</global>
<java-wsdl>
<service name="MySEI" style="rpc"
endpoint="org.jboss.test.ws.jbws1217.MySEI"/>
<namespaces target-namespace="http://org.jboss.test.ws.jbws1217"
type-namespace="http://org.jboss.test.ws.jbws1217"/>
<mapping file="jaxrpc-mapping.xml" />
<webservices ejb-link="MyEJB"/>
</java-wsdl>
</configuration>
The WSDL ignores the global mappings and generates the namespace derived from teh class
packages.
was:
Consider the following WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<definitions name='MySEIService'
targetNamespace='http://javatype.mycompany.com'
xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:ns1='http://other.com'
xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
xmlns:tns='http://javatype.mycompany.com'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
<types>
<schema targetNamespace='http://other.com'
xmlns='http://www.w3.org/2001/XMLSchema'
xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:tns='http://other.com'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
<complexType name='TestException'>
<sequence/>
</complexType>
<element name='TestException' type='tns:TestException'/>
</schema>
</types>
<message name='MySEI_testException'/>
<message name='MySEI_testExceptionResponse'/>
<message name='TestException'>
<part element='ns1:TestException' name='TestException'/>
</message>
<portType name='MySEI'>
<operation name='testException'>
<input message='tns:MySEI_testException'/>
<output message='tns:MySEI_testExceptionResponse'/>
<fault message='tns:TestException' name='TestException'/>
</operation>
</portType>
<binding name='MySEIBinding' type='tns:MySEI'>
<soap:binding style='rpc'
transport='http://schemas.xmlsoap.org/soap/http'/>
<operation name='testException'>
<soap:operation soapAction=''/>
<input>
<soap:body namespace='http://javatype.mycompany.com'
use='literal'/>
</input>
<output>
<soap:body namespace='http://javatype.mycompany.com'
use='literal'/>
</output>
<fault name='TestException'>
<soap:fault name='TestException' use='literal'/>
</fault>
</operation>
</binding>
<service name='MySEIService'>
<port binding='tns:MySEIBinding' name='MySEIPort'>
<soap:address location='REPLACE_WITH_ACTUAL_URL'/>
</port>
</service>
</definitions>
Using the following wstools config:
<configuration
xmlns="http://www.jboss.org/jbossws-tools">
<global>
<package-namespace package="com.other"
namespace="http://other.com"/>
<package-namespace package="com.mycompany.javatype"
namespace="http://javatype.mycompany.com"/>
</global>
<wsdl-java file="MySEIService.wsdl">
<mapping file="jaxrpc-mapping.xml" />
</wsdl-java>
</configuration>
The TestException class is not generated in the com.other package.
JavatoWSDL Package to Namespace mapping does not support multiple
packages
--------------------------------------------------------------------------
Key: JBWS-2018
URL:
http://jira.jboss.com/jira/browse/JBWS-2018
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: tools-jaxrpc
Reporter: Magesh Kumar B
Assigned To: Magesh Kumar B
Priority: Minor
Fix For: jbossws-native-2.0.4
Consider the following SEI:
package org.jboss.test.ws.jbws1217;
public interface MySEI extends java.rmi.Remote
{
public void testException() throws com.other.exception.TestException,
java.rmi.RemoteException;
}
And the additional classes:
package com.other.exception;
public class TestException
extends com.other.base.BaseException{
public TestException(){
}
}
package com.other.base;
public class BaseException
extends Exception{
public BaseException(){
}
}
Using the following wstools config:
<configuration
xmlns="http://www.jboss.org/jbossws-tools">
<global>
<package-namespace package="com.other.base"
namespace="http://com.other.base"/>
<package-namespace package="com.other.exception"
namespace="http://com.other.exception"/>
</global>
<java-wsdl>
<service name="MySEI" style="rpc"
endpoint="org.jboss.test.ws.jbws1217.MySEI"/>
<namespaces target-namespace="http://org.jboss.test.ws.jbws1217"
type-namespace="http://org.jboss.test.ws.jbws1217"/>
<mapping file="jaxrpc-mapping.xml" />
<webservices ejb-link="MyEJB"/>
</java-wsdl>
</configuration>
The WSDL ignores the global mappings and generates the namespace derived from teh class
packages.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira