When testing my fix to TUSCANY-2324, I discovered a problem in
EchoDataBinding.composite in the databinding-echo sample.

The lines:

    <reference name="EchoReference" promote="ComponentB/echoReference">
        <!--
            <interface.java interface="dbecho.Echo"/>
        -->
        <interface.wsdl 
interface="http://example.com/echo.wsdl#wsdl.interface(EchoPortType)"
            wsdli:wsdlLocation="http://example.com/echo.wsdl wsdl/echo.wsdl">
            <db:databinding xmlns:db="http://tuscany.apache.org/xmlns/sca/databinding/1.0"; 
name="org.apache.axiom.om.OMElement" />
        </interface.wsdl>
        <e:binding.echo/>
    </reference>

are causing a problem because the TUSCANY-2324 fix causes the <interface.wsdl>
definition to be copied down to the underlying promoted reference, and this 
doesn't
work (I get an exception reprting problems with databindings and wrappers).

From looking at the test code, it doesn't seem that this <interface.wsdl>
definition is a necessary part of the test, so I changed the above to:

    <reference name="EchoReference" promote="ComponentB/echoReference">
        <interface.java interface="dbecho.Echo"/>
    <!-- Replaced interface.wsdl by interface.java because TUSCANY-2324 fix 
uses the interface specified here
        <interface.wsdl 
interface="http://example.com/echo.wsdl#wsdl.interface(EchoPortType)"
            wsdli:wsdlLocation="http://example.com/echo.wsdl wsdl/echo.wsdl">
            <db:databinding xmlns:db="http://tuscany.apache.org/xmlns/sca/databinding/1.0"; 
name="org.apache.axiom.om.OMElement" />
        </interface.wsdl>
    -->
        <e:binding.echo/>
    </reference>

and this worked OK.

I'm planning to make the above change in my check-in for the builder changes
that include the fix for TUSCANY-2324.  Ideally I'd like to delete the
extraneous lines completely, because of the confusion that they cause anyone
trying to understand what this sample does.  Does anyone know of a reason
why I should not do this?

  Simon

Reply via email to