You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Markus Kappeler <ma...@objectxp.com> on 2005/05/23 09:55:30 UTC

[AXIS2] receive multiple AsyncResult

Hi,

I try to receive multiple async one-way messages in a axis2 ws-client. 
The server-side is a gsoap implementation.
The idea is, that the client send a async message to the server, like 
register listener. As response the server sends
multiple async messages back. The messages are events from the server 
side and are sent with seperate HTTP posts.
Unfortunately the axis2 client receives only the first SOAPEnvelope in 
the own Callback object.
But the output of tcpmon shows that more than one SOAPEnvelope (HTTP 
Post's) has been send by the server.

How can a axis2 client receive multiple async messages as response to 
one send?

Regards,
Markus


Re: [AXIS2] receive multiple AsyncResult

Posted by Srinath Perera <he...@gmail.com>.
Hi Markus;

I belive u should have a brief look at the current svn code too, the
org.apache.axis.clientapi.* classes are changed quite a lot. Corelater
and invoker no longer exist, now async incoming messages are
represented as invocations that comes in

Still the Call do not handle the case u explain (it does not suppose
to do it .. really).

SendReciveAsync does not necessarily in seperate POSTs as the Async
behaviour might done at the same POST in a new thread.

To attain the what u want, u should run multiple In flows as Eran
said. How to attain it is bit tricky. Please have a look at the
current code, and get back if u need help.
Thanks
Srinath

On 5/23/05, Markus Kappeler <ma...@objectxp.com> wrote:
> Hi,
> 
>  > I think you must have used the Call object.
> Yes.
> 
>  > So for me it seems that you have IN-multiple OUT scenario, which the
> simple Call object will not handle. For you to do this, you have to
> write your own message > receiver in the client side.
> OK. I'll extend the Call class with my requirements. I'll have a look at
> the source code.
> 
>  >We are preparing some documentation on this. So please hang on with us
> till we come up with them.
> Any timeschedule?
> 
>  >How do u feel like Axis2 ?
> I spent only a few hours with AXIS2. My first impression is very good
> for a milestone release.
> The client API is easy to use. But here some comments and feelings.
> - The documentation is clear and not too much (or with other words the
> minimum).
> The API-Doc of the classes is mostly empty :-(.
> The few and small examples in AXIS2 helped me.
> - I tried to use only the packages org.apache.axis.clientapi.* and
> org.apache.axis.om.*.
> The classes Correlator and Invoker confuse me. How should I get a
> AxisEngine or EngineRegistry. When do I need these classes
> in client aspect of view.
> - Call class
> I missed the setProperty/getProperty (e.g. username/password).
> Why must I set the second argument of the setListenerTransport? Latest
> when call.sendReceiveAsync it is clear that a separate listener
> is used. The default of the transport should be the same as for the send.
> - OM:
> How can OMElements be added without a namespace?
> How can set a character encoding? <?xml version="1.0" encoding="ISO-..." ?>
> I missed a setEncodingStyle method in the SOAPBody class.
> When a SOAPHeader is empty I would not send it; only envelope with a
> body (keep the amount of data as small as possible...).
> - minor
> I miss a wsdl2java for axis2.
> Set the User-Agent in the HTTP Requests.
> What is with javax.xml.rpc?
> 
> - gSOAP
> Small, fast.
> No web container needed for server part. No deployment scrips or classes.
> It comes with a lot of examples.
> Supports HTTP1.1 (keep-alive). Why not in AXIS2?
> Good wsdl2h and soapcpp2 compiler.
> Interop with AXIS2 seems to work so far.
> 
> These are only my personal comments and impressions with AXIS2 so far.
> (You asked me ;-) ).
> 
> Regards,
> Markus
> 
> 
> 
> 
>

Re: [AXIS2] receive multiple AsyncResult

Posted by Markus Kappeler <ma...@objectxp.com>.
Hi,

 > I think you must have used the Call object.
Yes.

 > So for me it seems that you have IN-multiple OUT scenario, which the 
simple Call object will not handle. For you to do this, you have to 
write your own message > receiver in the client side.
OK. I'll extend the Call class with my requirements. I'll have a look at 
the source code.

 >We are preparing some documentation on this. So please hang on with us 
till we come up with them.
Any timeschedule?

 >How do u feel like Axis2 ?
I spent only a few hours with AXIS2. My first impression is very good 
for a milestone release.
The client API is easy to use. But here some comments and feelings.
- The documentation is clear and not too much (or with other words the 
minimum).
The API-Doc of the classes is mostly empty :-(.
The few and small examples in AXIS2 helped me.
- I tried to use only the packages org.apache.axis.clientapi.* and 
org.apache.axis.om.*.
The classes Correlator and Invoker confuse me. How should I get a 
AxisEngine or EngineRegistry. When do I need these classes
in client aspect of view.
- Call class
I missed the setProperty/getProperty (e.g. username/password).
Why must I set the second argument of the setListenerTransport? Latest 
when call.sendReceiveAsync it is clear that a separate listener
is used. The default of the transport should be the same as for the send.
- OM:
How can OMElements be added without a namespace?
How can set a character encoding? <?xml version="1.0" encoding="ISO-..." ?>
I missed a setEncodingStyle method in the SOAPBody class.
When a SOAPHeader is empty I would not send it; only envelope with a 
body (keep the amount of data as small as possible...).
- minor
I miss a wsdl2java for axis2.
Set the User-Agent in the HTTP Requests.
What is with javax.xml.rpc?

- gSOAP
Small, fast.
No web container needed for server part. No deployment scrips or classes.
It comes with a lot of examples.
Supports HTTP1.1 (keep-alive). Why not in AXIS2?
Good wsdl2h and soapcpp2 compiler.
Interop with AXIS2 seems to work so far.

These are only my personal comments and impressions with AXIS2 so far. 
(You asked me ;-) ).

Regards,
Markus





Re: [AXIS2] receive multiple AsyncResult

Posted by Eran Chinthaka <ch...@gmail.com>.
Hi Markus,

I think you must have used the Call object.

We have burnt in the concept of MEPs in to Axis2. So the call object will 
only handle the IN-OUT MEP.

So for me it seems that you have IN-multiple OUT scenario, which the simple 
Call object will not handle. For you to do this, you have to write your own 
message receiver in the client side.

Some hints : Just think you have two pipes; IN pipe and OUT pipe. You can 
model *any* MEP by different combinations of these. You can get some help if 
you look in to the Call object.

We are preparing some documentation on this. So please hang on with us till 
we come up with them.

Further we would like to know your feedback on usability of Axis2 with other 
impls like gSOAP. How do u feel like Axis2 ? Comments, suggestions are 
mostly welcome !!

Regards,
Chinthaka
----- Original Message ----- 
From: "Markus Kappeler" <ma...@objectxp.com>
To: <ax...@ws.apache.org>
Sent: Monday, May 23, 2005 1:55 PM
Subject: [AXIS2] receive multiple AsyncResult


> Hi,
>
> I try to receive multiple async one-way messages in a axis2 ws-client. The 
> server-side is a gsoap implementation.
> The idea is, that the client send a async message to the server, like 
> register listener. As response the server sends
> multiple async messages back. The messages are events from the server side 
> and are sent with seperate HTTP posts.
> Unfortunately the axis2 client receives only the first SOAPEnvelope in the 
> own Callback object.
> But the output of tcpmon shows that more than one SOAPEnvelope (HTTP 
> Post's) has been send by the server.
>
> How can a axis2 client receive multiple async messages as response to one 
> send?
>
> Regards,
> Markus
>