I've come across a problem that I'm sure we've seen before but I can't
put my finger on it.

Write a composite without wstx-asl on the classpath...

<zdef2107778102:composite xmlns=""
    xmlns:zdef2107778102="http://docs.oasis-open.org/ns/opencsa/sca/200912";
    target Namespace="http://tuscany.apache.org/xmlns/sca/1.1"; name="endpoint">
    <zdef2107778 1 :component xmlns=""
        xmlns:ns2="http://www.tuscany.apache.org/itests/interface/match";
        name="DistributedServiceComponent" uri="DistributedServiceComponent"
XX        requires="SOAP.v1_2 clientAuthentication.transport"
        policySets="ns2:BasicAuthenticationPolicySet">
        <zdef2107778102:service xmlns=""
            name="ServiceComponent" requires="clientAuthentication">
            <zdef2107778102:interface.java

interface="org.apache.tuscany.sca.itest.interfaces.ServiceComponent"
                remotable="true"

callbackInterface="org.apache.tuscany.sca.itest.interfaces.CallbackInterface">
            </zdef2107778102:interface.java>
                <zdef2107778102:binding.ws
                    requires="zdef2107778102:SOAP.v1_2" policy
                    Sets="ns2:BasicAuthenticationPolicySet"
name="ServiceComponent"

uri="http://localhost:8081/DistributedServiceComponent/ServiceComponent";>
                </zdef2107778102:binding.ws>
                    <callback

xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912";>
                        <binding.ws requires="SOAP.v1_2"
                            policySets="ns2:BasicAuthenticationPolicySet"
                            name="ServiceComponent">
                        </binding.ws>
                    </callback>
        </zdef2107778102:service>
    </zdef2107778102:component>
</zdef2107778102:composite>

Write a composite withwstx-asl on the classpath...

<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912";
    targetNamespace="http://tuscany.apache.org/xmlns/sca/1.1"; name="endpoint">
    <component name="DistributedServiceComponent"
uri="DistributedServiceComponent"
XX        requires="SOAP.v1_2 clientAuthentication.transport"
        xmlns:ns2="http://www.tuscany.apache.org/itests/interface/match";
        policySets="ns2:BasicAuthenticationPolicySet">
        <service name="ServiceComponent" requires="clientAuthentication">
            <interface.java

interface="org.apache.tuscany.sca.itest.interfaces.ServiceComponent"
                remotable="true"

callbackInterface="org.apache.tuscany.sca.itest.interfaces.CallbackInterface"
/>
            <binding.ws requires="SOAP.v1_2"
                policySets="ns2:BasicAuthenticationPolicySet"
name="ServiceComponent"

uri="http://localhost:8081/DistributedServiceComponent/ServiceComponent";
/>
            <callback>
                <binding.ws requires="SOAP.v1_2"
                    policySets="ns2:BasicAuthenticationPolicySet"
                    name="ServiceComponent" />
            </callback>
        </service>
    </component>
</composite>

I've marked line XX as an example of the problem. We have code in the
stream writer that tries to retrieve the prefix from a QName URI when
no prefix is provided. Without wstx this fails and you're left with
attribute values in the wrong namespace (note the non-wstx version
uses a prefix for the oasis namespace and the wstx version doesn't).

Ring any bells for anyone?

Simon

-- 
Apache Tuscany committer: tuscany.apache.org
Co-author of a book about Tuscany and SCA: tuscanyinaction.com

Reply via email to