As mentioned in my previous post, it looks like a bug
http://issues.apache.org/jira/browse/AXIS2-3265
There is nothing wrong with the wsdl. I am using resin 3.1.3 as the
server. Probably this is something related to the xmlStreamReader
implemented by resin? Right now I have no time to verify this. However,
it will be awesome if I can know whether it is a true axis2 bug. If it
is not, probably I will try to find time to debug resin.
Since the old Callback works fine in the same resin server, I would
assume that it is an Axi2 1.3 bug, though.
Thanks.
Huitang
Amila Suriarachchi wrote:
On 10/12/07, *Huitang Li* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
With further debugging, I found something interesting: when the
onMessage() method is done in AxisCallback, the application
proceeds on
the method "public void run() " in class
OutInAxisOperationClient, and
then somehow the application seems hanging for ever.
I think the problem is here. The correct class to use is AxisCallback.
Callback class is a depricated class.
(see the class comments).
If it work fine when we change to the depricated class that means
generated code works fine.
on the other hand it is ok to leave onComple method without doing any
thing. since it is a method to
use if some one need it.
(It is better to add this method to generated callback class and
expose it to user)
Can you send your wsdl or a part to repoduce the problem?
Amila.
I have not downloaded the axis2 source code to debug, but I believe
that something is not right after the AxisCallback finishes
onMessage()
and then returns the control to the run() method in
OutInAxisOperationClient.
Thanks.
Rajith Attapattu wrote:
> Put you notification logic in the
>
> public void onComplete() {
> //nothing here
> }
>
> So when it completes (either fault/error or sucess) , this
method will
> be called.
>
> Here is a faily elementry example (not the most elegant)
> Modify the generated class as follows.
>
> public void onComplete() {
> _complete = true;
> }
>
> and add a isComplete Method
>
> boolean isComplete()
> {
> return _complete;
> }
>
> you can now use it like the old Callback class.
>
> while ( !_axisCallBack.isComplete())
> {
> Thread.sleep(1000);
> }
>
> Hope this helps.
>
> On 10/12/07, *Huitang Li* < [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>> wrote:
>
> Thanks, Deepal. I will be happy to create a JRIA. But can
you show
> me a
> good example using this new API in the client code? I am
working on a
> project, and I cannot wait for the next Axis2 release.
>
> Thanks.
>
> Huitang
>
>
>
> Deepal jayasinghe wrote:
> > Hi Huitang ,
> > Definitely a bug in codegen , please create a JRIA.
> >
> > Thanks
> > Deepal
> >
> >> All these codes are auto-generated by Axis2 1.3 wsdl2java
> command. I
> >> do not know whether it is an old callback or not. But it
does says:
> >>
> >> _operationClient.setCallback(new
> >> org.apache.axis2.client.async.AxisCallback() {
> >> // all the codes that I pasted in my previous email.
> >> }
> >>
> >> In the generated code, the onComplete() method looks like
this:
> >>
> >> public void onComplete() {
> >> // Do nothing by default
> >> }
> >>
> >>
> >> Maybe there is something incorrectly generated by wsdl2java?
> >>
> >>
> >>
> >>
> >> Rajith Attapattu wrote:
> >>
> >>> What do you mean by the "application is stuck" ? How
does your
> >>> application figure out if a response is received?
> >>> Can you please cut paste the code that uses the
AxisCallback.
> >>>
> >>> Does the onMessage, onError or onFault methods get called?
> >>> If so why do u say it is stuck?
> >>>
> >>> Looks like the onMessage and onError methods get called,
bcos
> u seem
> >>> to have put the old callback there and you mentioned that it
> works.
> >>>
> >>>
> >>> public void onComplete() {
> >>> //nothing here
> >>> }
> >>>
> >>>
> >>> I also see that the onComplete method is empty.
> >>>
> >>> --
> >>> Rajith Attapattu
> >>> Red Hat
> >>> Blog http://mutlix.blogspot.com/
> >>>
> >>
>
---------------------------------------------------------------------
> >> To unsubscribe, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> >> For additional commands, e-mail:
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> >>
> >>
> >>
> >
> >
> >
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> For additional commands, e-mail:
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
>
>
>
>
> --
> Rajith Attapattu
> Red Hat
> Blog http://mutlix.blogspot.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
--
Amila Suriarachchi,
WSO2 Inc.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]