You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Simon Laws (JIRA)" <tu...@ws.apache.org> on 2007/08/10 10:15:42 UTC

[jira] Created: (TUSCANY-1526) Trying to wire a non-wireable binding should fal gracefully

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. 



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


[jira] Closed: (TUSCANY-1526) Trying to wire a non-wireable binding should fal gracefully

Posted by "Simon Laws (JIRA)" <tu...@ws.apache.org>.
     [ https://issues.apache.org/jira/browse/TUSCANY-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Simon Laws closed TUSCANY-1526.
-------------------------------

    Resolution: Fixed

Opened as an explicit JIRA to apply wireable support to all bindings

https://issues.apache.org/jira/browse/TUSCANY-1534

> 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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


Re: [jira] Commented: (TUSCANY-1526) Trying to wire a non-wireable binding should fal gracefully

Posted by Simon Nash <na...@hursley.ibm.com>.
See below.

   Simon

Simon Laws wrote:

> On 8/10/07, Jean-Sebastien Delfino <js...@apache.org> wrote:
> 
>>Simon Laws wrote:
>>
>>>On 8/10/07, Simon Nash <na...@hursley.ibm.com> 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: tuscany-dev-unsubscribe@ws.apache.org
>>>>For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>>>>
>>>>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: tuscany-dev-unsubscribe@ws.apache.org
>>For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>>
>>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.
> 
I have been intending to look into this myself, but I have been too
"heads down" on callbacks recently for this to get high enough up the
priority stack.  I am not convinced that we need this interface.
The names in the target attribute are just another way to specify URIs
for bindings.  I think we can handle all the valid cases by setting an
appropriate URI into the reference binding without the need for reference
bindings to be explicitly aware of their target SCA components, services,
and bindings.  Each cloned reference binding instance has its own runtime
wire, and this seems a suitable place to hold this additional information.

This is my impression at the moment without having looked in detail at
the places where WireableBinding is currently used.  There aren't very
many of them.

   Simon


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


Re: [jira] Commented: (TUSCANY-1526) Trying to wire a non-wireable binding should fal gracefully

Posted by Simon Laws <si...@googlemail.com>.
On 8/10/07, Jean-Sebastien Delfino <js...@apache.org> wrote:
>
> Simon Laws wrote:
> > On 8/10/07, Simon Nash <na...@hursley.ibm.com> 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: tuscany-dev-unsubscribe@ws.apache.org
> >> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
> >>
> >> 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: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
> 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

Re: [jira] Commented: (TUSCANY-1526) Trying to wire a non-wireable binding should fal gracefully

Posted by Jean-Sebastien Delfino <js...@apache.org>.
Simon Laws wrote:
> On 8/10/07, Simon Nash <na...@hursley.ibm.com> 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: tuscany-dev-unsubscribe@ws.apache.org
>> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>>
>> 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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


Re: [jira] Commented: (TUSCANY-1526) Trying to wire a non-wireable binding should fal gracefully

Posted by Simon Laws <si...@googlemail.com>.
On 8/10/07, Simon Nash <na...@hursley.ibm.com> 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: tuscany-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
> 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

Re: [jira] Commented: (TUSCANY-1526) Trying to wire a non-wireable binding should fal gracefully

Posted by Simon Nash <na...@hursley.ibm.com>.
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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


[jira] Commented: (TUSCANY-1526) Trying to wire a non-wireable binding should fal gracefully

Posted by "gengshaoguang (JIRA)" <tu...@ws.apache.org>.
    [ 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. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org