On 8/10/07, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote:
>
> Simon Laws wrote:
> > On 8/10/07, Simon Nash <[EMAIL PROTECTED]> wrote:
> >
> >> What happens if you change the example a little bit to:
> >>      <component name="CalculatorServiceComponent">
> >>                 <implementation.java class="
> >> calculator.CalculatorServiceImpl"/>
> >>          <reference name="addService" target="AddServiceComponent" />
> >>          <reference name="subtractService"
> >> target="SubtractServiceComponent" />
> >>          <reference name="multiplyService"
> >> target="MultiplyServiceComponent">
> >>              <interface.java interface="calculator.MultiplyService" />
> >>              <binding.ws wsdlElement="
> >> http://calculator#wsdl.binding(MultiplySoapBinding)"/>
> >>          </reference>
> >>          <reference name="divideService"
> target="DivideServiceComponent"
> >> />
> >>      </component>
> >>      <component name="MultiplyServiceComponent">
> >>          <implementation.java class="calculator.MultiplyServiceImpl" />
> >>          <service>
> >>              <interface.java interface="calculator.MultiplyService" />
> >>              <binding.ws wsdlElement="
> >> http://calculator#wsdl.port(MultiplySoapPort)"/>
> >>          </service>
> >>      </component>
> >>
> >> I believe this is valid according to the spec.  Does it work?
> >>
> >>    Simon
> >>
> >> gengshaoguang (JIRA) wrote:
> >>
> >>
> >>>     [
> >>>
> >>
> https://issues.apache.org/jira/browse/TUSCANY-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12518963
> ]
> >>
> >>> gengshaoguang commented on TUSCANY-1526:
> >>> ----------------------------------------
> >>>
> >>> I read SCA_WebServiceBinding_V100 again, I think there might miss some
> >>>
> >> restrictions againse "cross reference" like you mentioned here.
> >>
> >>> I agree with you.
> >>> For the time being, we need to document it as a poor practise.
> >>>
> >>>
> >>>
> >>>> Trying to wire a non-wireable binding should fal gracefully
> >>>> -----------------------------------------------------------
> >>>>
> >>>>                Key: TUSCANY-1526
> >>>>                URL:
> https://issues.apache.org/jira/browse/TUSCANY-1526
> >>>>            Project: Tuscany
> >>>>         Issue Type: Bug
> >>>>         Components: Java SCA Core Runtime
> >>>>        Environment: All
> >>>>           Reporter: Simon Laws
> >>>>           Priority: Minor
> >>>>
> >>>> If I do something like
> >>>>    <component name="CalculatorServiceComponent">
> >>>>              <implementation.java class="
> >>>>
> >> calculator.CalculatorServiceImpl"/>
> >>
> >>>>        <reference name="addService" target="AddServiceComponent" />
> >>>>        <reference name="subtractService"
> >>>>
> >> target="SubtractServiceComponent" />
> >>
> >>>>        <reference name="multiplyService"
> >>>>
> >> target="MultiplyServiceComponent">
> >>
> >>>>            <interface.java interface="calculator.MultiplyService" />
> >>>>            <binding.ws wsdlElement="
> >>>>
> >> http://calculator#wsdl.binding(MultiplySoapBinding)"/>
> >>
> >>>>        </reference>
> >>>>        <reference name="divideService"
> target="DivideServiceComponent"
> >>>>
> >> />
> >>
> >>>>    </component>
> >>>>    <component name="MultiplyServiceComponent">
> >>>>        <implementation.java class="calculator.MultiplyServiceImpl" />
> >>>>        <service>
> >>>>            <interface.java interface="calculator.MultiplyService" />
> >>>>            <binding.ws wsdlElement="
> >>>>
> >> http://calculator#wsdl.binding(MultiplySoapBinding)"/>
> >>
> >>>>        </service>
> >>>>    </component>
> >>>> I belive it should tell me that I'm trying to wire the mutiplyService
> >>>>
> >> reference up with a binding that is not wireable. Currently it fails in
> the
> >> axis2 binding URL handling code with an NPE.
> >>
> >>>> The runtime should just not load the contribution.  I guess we could
> get
> >>>>
> >> smarter and introduce a wireable binding but we would be trying to
> second
> >> guess the deployers orignal intention which I don't think is a good
> idea.
> >>
> >>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >> Having looked back at the spec I think both of these exampled should be
> >>
> > valid. I.e that the tuscany runtime should be able to workout what the
> > endpoint uri is based on the SCDL wiring. Does anyone have examples of
> > bindings that are explicitly not wireable in which case an error would
> be
> > validly produced?
> >
> > Simon
> >
> >
>
> Sorry I'm having trouble understanding this. What's a "non-wireable"
> binding? My understanding of the spec is:
> - references can be wired
> - they can use whatever binding they want
> - bindings on both ends of a wire must match
>
> I'm probably missing something but the initial snippet in TUSCANY-1526
> looks valid to me and should work. If it doesn't it's a bug, which needs
> to be fixed.
>
> --
> Jean-Sebastien
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
> The wireable binding is something that appears in the code. I don't know
what it's for but the sca binding implements the interface and the web
service binding doesn't.

Looking at the spec we are agreeing that these cases should work so I'll
close this JIRA and open a new one against the fault (once I've got my build
back to the stage where I can try it again). But It would be useful to get
an explanation of what the
org.apache.tuscany.sca.assembly.WireableBindingis and under what
circumstances bindings do and don't implement it.

Simon

Reply via email to