Clemens Utschig - Utschig wrote:
Sebastian,
it works :) thank you very much .. would you kindly explain what this changed
in the behavior?
Actually, I'm Simon :-)
I'm still chasing down the root cause of this. It seems to be related
to promotion of the reference. The component reference is defined
with <interface.java> (this is implicitly done by introspection, since
no explicit interface for this appears in the composite file). When
the component reference is promoted to a composite reference, the
<interface.java> is retained and is not overridden by the explicit
<interface.wsdl> in the promoted composite reference. This causes
the <binding.ws> to regenerate new WSDL from the <interface.java>
definition, and this WSDL has tne wrong namespace.
I confirmed this by adding an explicit <interface.wsdl> to the
component reference and omitting wsdlElement from the <binding.ws>
in the composite reference. This avoids the problem in my test
environment.
Simon
thx clemens
-----Original Message-----
From: Simon Nash (JIRA) [mailto:[EMAIL PROTECTED]
Sent: Monday, February 18, 2008 3:11 PM
To: tuscany-dev@ws.apache.org
Subject: [jira] Commented: (TUSCANY-2033) java interface exposed as
service, annoted with javax.xml.ws.RequestWrapper(...) is ignoring the
namespace
[
https://issues.apache.org/jira/browse/TUSCANY-2033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12570042#action_12570042
]
Simon Nash commented on TUSCANY-2033:
-------------------------------------
Please try changing your composite file to the following (with wsdlElement specified
on <binding.ws>), and let me know whether it fixes the problem.
<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="/model/common/"
xmlns:dbsdo="http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0"
name="FlexEmployeeComposite" xmlns:tns="/model/common/types/"
xmlns:types="/model/common/types/"
xmlns:errors="http://xmlns.oracle.com/adf/svc/errors/"
xmlns:flex="http://EmpFlexFieldService"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<component name="FlexEmployeeServiceComponent">
<implementation.java
class="com.oracle.soa.test.tuscany.impl.EmployeeServiceComponent"/>
<reference name="empFlexFieldService"/>
</component>
<reference name="empFlexFieldService"
promote="FlexEmployeeServiceComponent/empFlexFieldService">
<!-- <interface.java
interface="model.common.serviceinterface.EmpFlexFieldService"/> -->
<interface.wsdl interface="/model/common/#wsdl.interface(EmpFlexFieldService)"
/>
<binding.ws
wsdlElement="/model/common/#wsdl.binding(EmpFlexFieldServiceSoapHttp)"
uri="http://localhost:8888/Application4710-Model-context-root/EmpFlexFieldService"/>
</reference>
</composite>
java interface exposed as service, annoted with
javax.xml.ws.RequestWrapper(...) is ignoring the namespace
----------------------------------------------------------------------------------------------------------
Key: TUSCANY-2033
URL: https://issues.apache.org/jira/browse/TUSCANY-2033
Project: Tuscany
Issue Type: Bug
Components: Java SCA Axis Binding Extension
Affects Versions: Java-SCA-1.0.1
Reporter: clemens utschig
Priority: Critical
Fix For: Java-SCA-Next
Attachments: EmpFlexFieldService.java, EmpFlexFieldService.wsdl,
SDOReferenceBinding.zip
I have a composite defined that uses an external referenced webservice which
provides SDOs
<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="/model/common/"
xmlns:dbsdo="http://tuscany.apache.org/xmlns/sca/databinding/sdo/1.0"
name="FlexEmployeeComposite" xmlns:tns="/model/common/types/"
xmlns:types="/model/common/types/"
xmlns:errors="http://xmlns.oracle.com/adf/svc/errors/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<component name="FlexEmployeeServiceComponent">
<implementation.java
class="com.oracle.soa.test.tuscany.impl.EmployeeServiceComponent"/>
<reference name="empFlexFieldService"/>
</component>
<reference name="empFlexFieldService"
promote="FlexEmployeeServiceComponent/empFlexFieldService">
<interface.java
interface="model.common.serviceinterface.EmpFlexFieldService"/>
<binding.ws
uri="http://localhost:1234/Application4710-Model-context-root/EmpFlexFieldService"/>
</reference>
</composite>
The java interface that is promoted as service interface / and reflects the
webservice endpoint, contains jaxws annotations for namespaces as below ..
@javax.jws.soap.SOAPBinding(parameterStyle=javax.jws.soap.SOAPBinding.ParameterStyle.WRAPPED,
style=javax.jws.soap.SOAPBinding.Style.DOCUMENT)
@javax.jws.WebService(targetNamespace="/model/common/",
name="EmpFlexFieldService",
wsdlLocation="model/common/serviceinterface/EmpFlexFieldService.wsdl")
@oracle.j2ee.ws.common.sdo.SchemaLocation(value="model/common/serviceinterface/EmpFlexFieldServicexsd")
public interface EmpFlexFieldService {
public static final String NAME =
new QName("/model/common/", "EmpFlexFieldService").toString();
@javax.jws.WebMethod(action="/model/common/getEmployees1",
operationName="getEmployees1")
@javax.xml.ws.RequestWrapper(targetNamespace="/model/common/types/",
localName="getEmployees1")
@javax.xml.ws.ResponseWrapper(targetNamespace="/model/common/types/",
localName="getEmployees1Response")
@javax.jws.WebResult(name="result")
DataObject
getEmployees1(@javax.jws.WebParam(mode=javax.jws.WebParam.Mode.IN,
name="empno")
Integer empno) throws ServiceException;
At runtime - axis generates the following soap message - which is derived from
the base targetNamespace
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<_ns_:getEmployees1 xmlns:_ns_="/model/common/">
<empno xmlns="/model/common/">1</empno>
</_ns_:getEmployees1>
</soapenv:Body>
</soapenv:Envelope>
obviously this is wrong - it should be ..
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body xmlns:ns1="/model/common/types/">
<ns1:getEmployees1>
<ns1:empno></ns1:empno>
</ns1:getEmployees1>
</soap:Body>
</soap:Envelope>
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]