I tried the example in section 2.2.2 of WS binding spec (line 201 to 225). I have no problem if the service is promoted as following definition:
<service name="BService" promoted="BComponent"> <interface.java interface=".....BService"/> <binding.ws name="BServiceSOAP11" requires="soap.1_1"/> <binding.ws requires="soap.1_2"/> </service> <component name="BComponent"> <implementation.java class=".....BServiceImpl"/> </component> <component name="AComponent1"> <implementation.java class=".....AServiceImpl"/> <reference name="b1"> <interface.java interface=".....BService"/> <binding.ws requires="soap.1_2" uri="http://localhost:8080/BService"/> </reference> </component> But, if the serivice is not promoted as following definition: <component name="BComponent"> <implementation.java class="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.impl.BServiceImpl"/> <service name="BService"> <interface.java interface="org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.BService"/> <binding.ws name="BServiceSOAP11" requires="soap.1_1"/> <binding.ws requires="soap.1_2"/> </service> </component> <component name="AComponent1"> <implementation.java class="....AServiceImpl"/> <reference name="b1" target="BComponent/BService"> <interface.java interface=".....BService"/> <binding.ws requires="soap.1_2" uri="http://localhost:8080/BComponent"/> </reference> </component> I got exception: May 26, 2008 4:33:05 PM org.apache.tuscany.sca.http.tomcat.TomcatServer addServletMapping INFO: Added Servlet mapping: http://gkwan5:8080/BComponent org.osoa.sca.ServiceRuntimeException: org.osoa.sca.ServiceRuntimeException: java.lang.IllegalArgumentException: addChild: Child name '/BComponent' is not unique at org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:276) at org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:70) Is it a bug? Or I mis-understand or mis-use about multi-soap bindings? Thanks Gilbert