You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Dean Hiller <de...@xsoftware.biz> on 2005/08/29 02:46:29 UTC

soap stack?

Does axis have a reusable soap stack in it somewhere?  I have built a 
pojo framework(kind of like spring, except superfast as it is not on 
J2EE).  I wanted to embed some soap stack somehow though, as this 
framework allows asynchonous methods on services(ie. not just the client 
but services too).  What I mean by this is a Service can have the old 
synchronous method like so

public Response method(Request r); //blocks the platform thread until 
request is totally processed

BUT, can also have a method like so

public void method(Request r, CallbackHandler h); //allows service to 
release a platform thread while request is processed

Remember, those are service methods, not client methods(Of course,those 
methods are allowed in clients too).  The only thing I need now is some 
kind of object to soap message converter(and soap message to objects of 
course too).  I have planned on doing the routing myself but maybe axis 
has something there too?

thanks,
dean


Re: [Axis2] Re: soap stack?

Posted by Dean Hiller <de...@xsoftware.biz>.
Is there an architecture doc or something as I dive into the axis2 code?

I am a little confused.  I am reading Axis2 gets dropped in a servlet 
container.  I thought the servlet containers where all synchronous....

ie. for the method |*doGet 
<http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/HttpServlet.html#doGet%28javax.servlet.http.HttpServletRequest,%20javax.servlet.http.HttpServletResponse%29>*(HttpServletRequest 
<http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/HttpServletRequest.html> req, 
HttpServletResponse 
<http://java.sun.com/products/servlet/2.2/javadoc/javax/servlet/http/HttpServletResponse.html> resp)| 


one usually has to write the response into HttpServletResponse before 
this method returns.  This means, the method blocks the whole time.  Is 
there a servlet container out there where this is not true?

Realize, I can't do a callback as it can't penetrate the firewall. 
thanks,
dean

Eran Chinthaka wrote:

> Hi Dean,
>
> Dean Hiller wrote:
>
>> Does axis have a reusable soap stack in it somewhere?  I have built a 
>> pojo framework(kind of like spring, except superfast as it is not on 
>> J2EE).  I wanted to embed some soap stack somehow though, as this 
>> framework allows asynchonous methods on services(ie. not just the 
>> client but services too).  What I mean by this is a Service can have 
>> the old synchronous method like so
>>
>> public Response method(Request r); //blocks the platform thread until 
>> request is totally processed
>>
>> BUT, can also have a method like so
>>
>> public void method(Request r, CallbackHandler h); //allows service to 
>> release a platform thread while request is processed
>
>
> Yes you can do this in the server side as well if you use Axis2. 
> Create a MessageReceiver extending from 
> AbstractInOutSyncMessageReceiver, then you have your expected behaviour.
> Earlier I thought you wanted the async behaviour in client side.
>
> -- Chinthaka
>
>>
>> Remember, those are service methods, not client methods(Of 
>> course,those methods are allowed in clients too).  The only thing I 
>> need now is some kind of object to soap message converter(and soap 
>> message to objects of course too).  I have planned on doing the 
>> routing myself but maybe axis has something there too?
>>
>> thanks,
>> dean
>>
>>
>


Re: [Axis2] Re: soap stack?

Posted by Dean Hiller <de...@xsoftware.biz>.
ignore that last question.  I think I get it now.  Now, what I am 
wondering is what part of axis2 would I look at for what I need.  I am 
using nio so all my sockets are non-blocking in my platform.  I see 
axis2 has a tcp transport.  I am wondering if I take out that code, this 
may be compatible embedded in my platform.  *Where is the tcp transport 
code?* and where woudl the axis2 api that it uses be as I most likely 
don't want to use the tcp transport code(I am betting that is blocking 
io and I really want to be using non-blocking nio).
thanks,
dean

Eran Chinthaka wrote:

> Hi Dean,
>
> Dean Hiller wrote:
>
>> Does axis have a reusable soap stack in it somewhere?  I have built a 
>> pojo framework(kind of like spring, except superfast as it is not on 
>> J2EE).  I wanted to embed some soap stack somehow though, as this 
>> framework allows asynchonous methods on services(ie. not just the 
>> client but services too).  What I mean by this is a Service can have 
>> the old synchronous method like so
>>
>> public Response method(Request r); //blocks the platform thread until 
>> request is totally processed
>>
>> BUT, can also have a method like so
>>
>> public void method(Request r, CallbackHandler h); //allows service to 
>> release a platform thread while request is processed
>
>
> Yes you can do this in the server side as well if you use Axis2. 
> Create a MessageReceiver extending from 
> AbstractInOutSyncMessageReceiver, then you have your expected behaviour.
> Earlier I thought you wanted the async behaviour in client side.
>
> -- Chinthaka
>
>>
>> Remember, those are service methods, not client methods(Of 
>> course,those methods are allowed in clients too).  The only thing I 
>> need now is some kind of object to soap message converter(and soap 
>> message to objects of course too).  I have planned on doing the 
>> routing myself but maybe axis has something there too?
>>
>> thanks,
>> dean
>>
>>
>


[Axis2] Re: soap stack?

Posted by Eran Chinthaka <ch...@opensource.lk>.
Hi Dean,

Dean Hiller wrote:

> Does axis have a reusable soap stack in it somewhere?  I have built a 
> pojo framework(kind of like spring, except superfast as it is not on 
> J2EE).  I wanted to embed some soap stack somehow though, as this 
> framework allows asynchonous methods on services(ie. not just the 
> client but services too).  What I mean by this is a Service can have 
> the old synchronous method like so
>
> public Response method(Request r); //blocks the platform thread until 
> request is totally processed
>
> BUT, can also have a method like so
>
> public void method(Request r, CallbackHandler h); //allows service to 
> release a platform thread while request is processed

Yes you can do this in the server side as well if you use Axis2. Create 
a MessageReceiver extending from AbstractInOutSyncMessageReceiver, then 
you have your expected behaviour.
Earlier I thought you wanted the async behaviour in client side.

-- Chinthaka

>
> Remember, those are service methods, not client methods(Of 
> course,those methods are allowed in clients too).  The only thing I 
> need now is some kind of object to soap message converter(and soap 
> message to objects of course too).  I have planned on doing the 
> routing myself but maybe axis has something there too?
>
> thanks,
> dean
>
>