Hi Simon, Thank you very much, it is working now.
Thanks & Regards, Ashwini Kumar Jeksani On Nov 19, 2007 6:08 PM, Simon Laws <[EMAIL PROTECTED]> wrote: > On Nov 19, 2007 9:52 AM, ashjk <[EMAIL PROTECTED]> wrote: > > > On Nov 15, 2007 2:46 PM, ashjk <[EMAIL PROTECTED]> wrote: > > > > > Hello, > > > > > > I am using callback in my use-case, the scenario is that the callback > > > should happen (to the client) only after the approval from an > approver. > > As I > > > could see from the samples that the flow is streamlined, I had tried > out > > a > > > sample separating the service & client as different composites but it > is > > not > > > working as it is throwing some NullPointer Exception while invocation, > I > > > would be grateful if anyone would like to help me in this regard. > > > > > > Thanks & Regards, > > > Ashwini Kumar J > > > > > > > > > Hi Ashwini > > > > I've been looking at you problem and it appears to be something to do > with > > promoted references. In the first instance I created an example of what > > you > > are trying to achieve by taking the Tuscany sample simple-callback-ws > and > > splitting it across two modules. They are in my sandbox [1][2] and work > > for > > me in the form that I have them checked in. However if I change the > client > > composite file from. > > > > <component name="MyClientComponent"> > > <implementation.java class="simplecallback.MyClientImpl" /> > > <reference name="myService"> > > <interface.java interface="simplecallback.MyService" > > callbackInterface="simplecallback.MyServiceCallback" /> > > <binding.ws > > wsdlElement=" > > http://simplecallback#wsdl.port(MyServiceSoapService/MyServiceSoapPort)<http://simplecallback/#wsdl.port(MyServiceSoapService/MyServiceSoapPort)> > < > http://simplecallback#wsdl.port%28MyServiceSoapService/MyServiceSoapPort%29<http://simplecallback/#wsdl.port%28MyServiceSoapService/MyServiceSoapPort%29> > > > > < > http://simplecallback/#wsdl.port(MyServiceSoapService/MyServiceSoapPort)< > http://simplecallback/#wsdl.port%28MyServiceSoapService/MyServiceSoapPort%29 > > > > >" > > /> > > <callback> > > <binding.ws wsdlElement=" > > > > > http://simplecallback#wsdl.port(MyServiceCallbackSoapService/MyServiceCallbackSoapPort)<http://simplecallback/#wsdl.port(MyServiceCallbackSoapService/MyServiceCallbackSoapPort)> > < > http://simplecallback#wsdl.port%28MyServiceCallbackSoapService/MyServiceCallbackSoapPort%29<http://simplecallback/#wsdl.port%28MyServiceCallbackSoapService/MyServiceCallbackSoapPort%29> > > > > < > > > http://simplecallback/#wsdl.port(MyServiceCallbackSoapService/MyServiceCallbackSoapPort) > < > http://simplecallback/#wsdl.port%28MyServiceCallbackSoapService/MyServiceCallbackSoapPort%29 > > > > >" > > /> > > </callback> > > </reference> > > </component> > > > > to > > > > <component name="MyClientComponent"> > > <implementation.java class="simplecallback.MyClientImpl" /> > > <reference name="myService"/> > > </component> > > > > <reference name="MyService" > promote="MyClientComponent/myService"> > > <interface.java interface="simplecallback.MyService" > > callbackInterface="simplecallback.MyServiceCallback" /> > > <binding.ws wsdlElement=" > > http://simplecallback#wsdl.port(MyServiceSoapService/MyServiceSoapPort)<http://simplecallback/#wsdl.port(MyServiceSoapService/MyServiceSoapPort)> > < > http://simplecallback#wsdl.port%28MyServiceSoapService/MyServiceSoapPort%29<http://simplecallback/#wsdl.port%28MyServiceSoapService/MyServiceSoapPort%29> > > > > < > http://simplecallback/#wsdl.port(MyServiceSoapService/MyServiceSoapPort)< > http://simplecallback/#wsdl.port%28MyServiceSoapService/MyServiceSoapPort%29 > > > > >" > > /> > > <callback> > > <binding.ws > > wsdlElement=" > > > http://simplecallback#wsdl.port(MyServiceCallbackSoapService/MyServiceCallbackSoapPort)<http://simplecallback/#wsdl.port(MyServiceCallbackSoapService/MyServiceCallbackSoapPort)> > < > http://simplecallback#wsdl.port%28MyServiceCallbackSoapService/MyServiceCallbackSoapPort%29<http://simplecallback/#wsdl.port%28MyServiceCallbackSoapService/MyServiceCallbackSoapPort%29> > > > > < > > > http://simplecallback/#wsdl.port(MyServiceCallbackSoapService/MyServiceCallbackSoapPort) > < > http://simplecallback/#wsdl.port%28MyServiceCallbackSoapService/MyServiceCallbackSoapPort%29 > > > > >" > > /> > > </callback> > > </reference> > > > > I.e, I've turned the component reference into a promoted reference. I > now > > get. > > > > java.lang.NullPointerException > > at > > org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.createOpe > > rationClient(Axis2BindingInvoker.java:152) > > at > > org.apache.tuscany.sca.binding.ws.axis2.Axis2OneWayBindingInvoker.inv > > okeTarget(Axis2OneWayBindingInvoker.java :45) > > at > > org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invoke(Ax > > is2BindingInvoker.java:75) > > at > > org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterc > > eptor.invoke(DataTransformationInterceptor.java :74) > > at > > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JD > > KInvocationHandler.java:233) > > at > > org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JD > > KInvocationHandler.java :130) > > at $Proxy7.someMethod(Unknown Source) > > at simplecallback.MyClientImpl.aClientMethod(MyClientImpl.java > :42) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at sun.reflect.NativeMethodAccessorImpl.invoke > > (NativeMethodAccessorImpl. > > java:64) > > > > Can you try modifying you sample to have nested references and services > > rather than promoted reference and service and see if it makes a > > difference. > > If so can you raise a JIRA describing the fault so we can track the fix > > > > Regards > > > > Simon > > > > [1] > > > http://svn.apache.org/repos/asf/incubator/tuscany/sandbox/slaws/simple-callback-ws-client/ > > > > [2] > > > > > http://svn.apache.org/repos/asf/incubator/tuscany/sandbox/slaws/simple-callback-ws-server/ > > > Hi Ashwini > > I hadn't spotted that I was only applying to you directly and not the user > list. Did the suggested change make any difference in your scenario. > > Regards > > Simon >
