I have 2 services defined in a composite as,

<component name="BComponent">
    <implementation.java
class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.BServiceImpl"/>
    <service name="BService">
        <interface.java
interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService"/>
        <binding.ws/>
    </service>
</component>

<component name="CComponent">
    <implementation.java
class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.CServiceImpl"/>
    <service name="CService">
        <interface.java
interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.CService"/>
        <binding.ws requires="soap.1_2"
uri="http://localhost:8080/CComponent/CService"/>
    </service>
</component>

I got both WSDL docs by
    - http://localhost:8080/BComponent?wsdl
    - http://localhost:8080/CComponent/CService?wsdl

and got their target namespaces, but both are the same as:
    http://soapversion.nowsdl.wsbinding.vtest.sca.tuscany.apache.org

In the section 2.3.2 of WS Binding Spec V1.0, it says:
    "A separate WSDL document is generated for each SCA service. Each
has its own unique target namespace. This is to ensure that bindings
on different services of the same component do not clash."

Althought there is no problem to use both services and looks like that
they do not clash, it doesn't follow the spec.
Did I misunderstand? Worried too much?

Gilbert

Reply via email to