axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: [Axis2] Implications of WSRM interfaces on Axis2 ClientAPI
Date Sun, 30 Oct 2005 18:13:35 GMT
Hi Eran,

The concept of sequence can extend upto several IN-OUT or IN-ONLY
operations. So I agree that it will not fit into call API. However either
we can use call API to set it into some internal context or use that
context outside handled by the client code itself as follows.

In the client Code-->

RMContext rmContext = new RMContext();


So if we have some mechanism as Paul mentioned, then we can handle this
context inside the RM module without letting it to be handled by the
client code.



----- Original Message -----
From: Eran Chinthaka
Sent: Sunday, October 30, 2005 11:40 AM
Subject: Re: [Axis2] Implications of WSRM interfaces on Axis2 ClientAPI

This is just a thought came to my mind about the LastMessage.

Facts :
1.ON-OUT MEP is very clear about the messages. Server receives a message
(client sends a message), Server sends out a message (Client receives a
2. Call API represents IN-ONLY MEP interaction.

==>it shoould be used to send a message and get the response back.

So I feel there is no notion of Last Message w.r.t. Call api, at least
logically. You have ONLY two message, one goes out and one comes in. So I
see there is no reason to add a way for the Call to set a last message.
Some one from higher level should handle that.

Just a thought.

Paul Fremantle wrote:

I agree we don't want to add RM specific APIs to Axis2. However, as I think
my long post, and Chamikara's much neater append point out, there is a way
of looking at these as being general concepts in WS and not specific RM
concepts. In fact the Key concept is something that the Sandesha guys
invented and is not part of the RM spec. I believe that the same Key and
Last Message concepts could also help when you switch on
WS-SecureConversation. They are just basic ideas about how WS works when not
everything is a single call and we start building conversations.

What is driving this is a belief in COMPOSABILITY. Composability should mean
not having to change my code for a given WS-* standard. But it also means
that the core model has to support composability. WS-Security was lucky, we
didn't need to change any code, but its also inefficient, so we've had to
invent SecureConversation. I think that the idea of sequences and
conversations are generic new change the core model of WS and should be
reflected in the Axis2 API.

On 10/29/05, Jaliya Ekanayake <> wrote:

I agree, that we don't need RM methods without RM. jar, but if we analsye
the common requirements from RM or WS-SecCon etc, we may endup with
5-10 new setters for the call API. Afterall these moduels are intended for
axis and it will be easy and clear for the users to use them in the Call
rather than having another Context or some other Object to transfer



----- Original Message -----
From: "Srinath Perera" <>
To: <>
Sent: Saturday, October 29, 2005 10:11 AM
Subject: Re: [Axis2] Implications of WSRM interfaces on Axis2 ClientAPI

why u need RM methods when u do not have RM jar in the classpath?

On 10/29/05, Jaliya Ekanayake <> wrote:

This is what we have in Sandesha 1.0. It introduce this new RMContext


requires the jar to be in the classpath.


----- Original Message -----
From: "Srinath Perera" <>
To: <>
Sent: Saturday, October 29, 2005 7:37 AM
Subject: Re: [Axis2] Implications of WSRM interfaces on Axis2 ClientAPI

I am 0- on moving the constants to the core

how about following

Call call = new Call();
RMContext rcontext = (RMContext)call.getExtentionContext(RM_MODULE);
//return the RMContext from extension registry

RMContext will have RM specific methods and provide way to monitor the


IMHO once the user enable RM, user is not allowed to set sequence id
ect .. at the first message RM will automatically call create sequence
..ect and provide sequenceIDs/UUID for the messages. Once the RM is
started Axis and RM control what happen .. User can quary status via
RMContext .. He may have a terminateSequence method() .. for premature


View raw message