Hi,

Can you clarify "the TUSCANY-2324 fix causes the <interface.wsdl> definition to be copied down to the underlying promoted reference"?

<reference name="EchoReference" promote="ComponentB/echoReference">
<interface.wsdl interface="http://example.com/echo.wsdl#wsdl.interface(EchoPortType)" />
        <e:binding.echo/>
</reference>

What will be the interfaces for the following references?

composite reference (EchoReference) interface.wsdl? component reference (ComponentB/echoReference) interface.java (inherited from the component type reference)? or interface.wsdl (copied from the composite reference)?

IMO, the inheritance chain is:

composite ref (which is also the component type ref for implementaiton.composite) --> promoted component ref --> component type ref

Thanks,
Raymond
--------------------------------------------------
From: "Simon Nash" <[EMAIL PROTECTED]>
Sent: Sunday, July 20, 2008 3:16 PM
To: <[email protected]>
Subject: EchoDataBinding.composite needs updating for TUSCANY-2324 fix

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