Folks,

I have a simple composite as below - which makes use of SDO through SOAP in the 
reference

<?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>

that promotes the java interface from the reference as service .. the interface 
is annotated as webservice - as below ..

   @javax.jws.WebMethod(action="/model/common/createEmployees1", 
        operationName="createEmployees1")
    @javax.xml.ws.RequestWrapper(targetNamespace="/model/common/types/", 
        localName="createEmployees1")
    @javax.xml.ws.ResponseWrapper(targetNamespace="/model/common/types/", 
        localName="createEmployees1Response")
    @javax.jws.WebResult(name="result")
    DataObject 
createEmployees1(@javax.jws.WebParam(mode=javax.jws.WebParam.Mode.IN, 
name="employees1")
        DataObject employees1) throws ServiceException;

which implies that the namespace for this element is "/model/common/types/"

however - Axis2, takes the targetNamespace - and hence tries to send out 

        <?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>


instead of 

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

anybody seen this? - this sounds like a real bug to me..

thx clemens

Reply via email to