On Nov 19, 2007 1:02 PM, ashjk <[EMAIL PROTECTED]> wrote:

> 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%28MyServiceSoapService/MyServiceSoapPort%29>
> <http://simplecallback/#wsdl.port(MyServiceSoapService/MyServiceSoapPort)<http://simplecallback/#wsdl.port%28MyServiceSoapService/MyServiceSoapPort%29>
> >
> > <
> >
> 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>
> <
> >
> http://simplecallback/#wsdl.port%28MyServiceSoapService/MyServiceSoapPort%29
> > >
> > > >"
> > > />
> > >            <callback>
> > >                <binding.ws wsdlElement="
> > >
> > >
> >
> http://simplecallback#wsdl.port(MyServiceCallbackSoapService/MyServiceCallbackSoapPort)<http://simplecallback#wsdl.port%28MyServiceCallbackSoapService/MyServiceCallbackSoapPort%29>
> <
> http://simplecallback/#wsdl.port(MyServiceCallbackSoapService/MyServiceCallbackSoapPort)<http://simplecallback/#wsdl.port%28MyServiceCallbackSoapService/MyServiceCallbackSoapPort%29>
> >
> > <
> >
> 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>
> > <
> >
> 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%28MyServiceSoapService/MyServiceSoapPort%29>
> <http://simplecallback/#wsdl.port(MyServiceSoapService/MyServiceSoapPort)<http://simplecallback/#wsdl.port%28MyServiceSoapService/MyServiceSoapPort%29>
> >
> > <
> >
> 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>
> <
> >
> http://simplecallback/#wsdl.port%28MyServiceSoapService/MyServiceSoapPort%29
> > >
> > > >"
> > > />
> > >            <callback>
> > >                <binding.ws
> > > wsdlElement="
> > >
> >
> http://simplecallback#wsdl.port(MyServiceCallbackSoapService/MyServiceCallbackSoapPort)<http://simplecallback#wsdl.port%28MyServiceCallbackSoapService/MyServiceCallbackSoapPort%29>
> <
> http://simplecallback/#wsdl.port(MyServiceCallbackSoapService/MyServiceCallbackSoapPort)<http://simplecallback/#wsdl.port%28MyServiceCallbackSoapService/MyServiceCallbackSoapPort%29>
> >
> > <
> >
> 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>
> > <
> >
> 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
> >
>
Ok, thanks Ashwini, I've raised a JIRA (
http://issues.apache.org/jira/browse/TUSCANY-1912) to report and track the
fix for the underlying problem.

Regards

Simon

Reply via email to