Hello Scott
Yes I have changed it to a public field to see what happens but now I use
a private field with a setter injection
So I have the following:
*private ConversionService conversionService;
/*** setter injection for references ***/
@Reference(name="conversionService", required=true)
public void setConversionService(ConversionService service) {
this.conversionService = service;
}*
but I have the same error ...
2008/12/10 Scott Kurz <[EMAIL PROTECTED]>
> Fahim,
>
> Not sure that it should matter, but what about changing:
> public ConversionService conversionService;
> from a public to a private field?
>
> Not sure that that should matter (would have to think)....
>
> Scott
>
>
> On Wed, Dec 10, 2008 at 9:27 AM, fahim salim <[EMAIL PROTECTED]> wrote:
>
>> Hello
>>
>> No I have the same error
>>
>> Here is the log I have.
>>
>> *java.lang.NullPointerException
>> at
>> calculator.CalculatorServiceImpl.conversionEnEuro(CalculatorServiceImpl.java:43)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:585)
>> at
>> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:132)
>> at
>> org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:112)
>> at
>> org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
>> at
>> org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:112)
>> at
>> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287)
>> at
>> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
>> at $Proxy6.conversionEnEuro(Unknown Source)
>> at client.Client.main(Client.java:45)
>> *
>>
>> 2008/12/10 Scott Kurz <[EMAIL PROTECTED]>
>>
>> Fahim,
>>>
>>> So I'd expect you're getting a different error now after switching the
>>> SCDL to:
>>> * <reference name="conversionService"
>>> *
>>> Is that correct? What's the new error?
>>>
>>> Scott
>>>
>>>
>>> On Tue, Dec 9, 2008 at 10:53 AM, fahim salim <[EMAIL PROTECTED]> wrote:
>>>
>>>> Hello Scott
>>>>
>>>> Yes it could have been that
>>>> I have made the modification in the SCDL (Calcul.composite) and I have
>>>> replaced the upper case by lowercase 'c' but it doesn't work ...
>>>>
>>>>
>>>>
>>>> 2008/12/9 Scott Kurz <[EMAIL PROTECTED]>
>>>>
>>>> Fahim,
>>>>>
>>>>> I wonder if the problem is the case of your reference in SCDL.
>>>>>
>>>>> You have ..
>>>>> * <reference name="ConversionService"
>>>>>
>>>>> *But in the Java impl (CalculatorServiceImpl ) it looks like
>>>>> the reference name is "conversionService" (lowercase 'c').
>>>>>
>>>>> Maybe try that....
>>>>>
>>>>> Scott
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Tue, Dec 9, 2008 at 7:41 AM, fahim salim <[EMAIL PROTECTED]>wrote:
>>>>>
>>>>>> Hello All
>>>>>>
>>>>>> What I'd like to do is to have two components implemented as composite
>>>>>> (like in simple-bigbank)
>>>>>> CalculatorServiceComponent is implemented by Calculator.composite and
>>>>>> ConversionServiceComponent is implemented by Converter.composite
>>>>>> ConversionService is a reference for CalculatorServiceComponent.
>>>>>>
>>>>>> Here is the composite file for this configuration
>>>>>>
>>>>>> *<?xml version="1.0" encoding="ISO-8859-15"?>
>>>>>> <composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
>>>>>> targetNamespace="http://calcul"
>>>>>> xmlns:ca="http://calculator"
>>>>>> xmlns:co="http://converter"
>>>>>> name="Calcul">
>>>>>>
>>>>>> <component name="CalculatorServiceComponent">
>>>>>> <implementation.composite name="ca:Calculator"/>
>>>>>> <reference name="ConversionService"
>>>>>> target="ConversionServiceComponent">
>>>>>> <binding.sca/>
>>>>>> </reference>
>>>>>> </component>
>>>>>>
>>>>>> <component name="ConversionServiceComponent">
>>>>>> <implementation.composite name="co:Converter"/>
>>>>>> </component>
>>>>>>
>>>>>> </composite>*
>>>>>>
>>>>>> ConversionService offers one method which is *conversionEnEuro()*
>>>>>>
>>>>>> *public interface ConversionService {
>>>>>> public double conversionEnEuro(double value);
>>>>>> }*
>>>>>>
>>>>>>
>>>>>>
>>>>>> When I run the application I have the following stack trace error but
>>>>>> I can't understand what is going wrong. It seems that the proxy which is
>>>>>> returned doesn't know how to invoke the method of ConversionService but
>>>>>> why
>>>>>> ?
>>>>>>
>>>>>> class $Proxy6
>>>>>> Caught Exception: null
>>>>>> java.lang.NullPointerException
>>>>>> at
>>>>>> calculator.CalculatorServiceImpl.conversionEnEuro(CalculatorServiceImpl.java:43)
>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>> at
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>>> at
>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>> at java.lang.reflect.Method.invoke(Method.java:585)
>>>>>> at
>>>>>> org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:132)
>>>>>> at
>>>>>> org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:112)
>>>>>> at
>>>>>> org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
>>>>>> at
>>>>>> org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:112)
>>>>>> at
>>>>>> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:287)
>>>>>> at
>>>>>> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
>>>>>> at $Proxy6.conversionEnEuro(Unknown Source)
>>>>>> at client.Client.main(Client.java:45)
>>>>>>
>>>>>> I have enclosed all the files
>>>>>>
>>>>>> Thanks for your help
>>>>>>
>>>>>> Fahim
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>