Hi all, 
Few things I want to note. 


> > 4. Srinath mentioned that the receiver concept was similar to what I
> > was proposing.  Perhaps I do not understand its purpose, but why do we
> > want to capture a MEP in a handler?  Isn't the MEP (irregard of a WSDL
> > description) driven by message endpoints, especially if everything is
> > inheritently one-way in messaging? 

To my understanding MEP doesn't say anything about whether the service is
sync/async and if I'm right that is a user decision which says how the
client will behave after sending the out message and till the reception of
the in message. Similar argument is valid for the server side. This get
fussier due to the usage of the Transport being oneway/twoway(e.g. Http is a
two way transport and would require a response in the transport level
despite the service call being sync/async).
So three things to note are
1) MEP
2) sync/async behavior of the service
3) behavior of the transport.

Axis2 was architected with Asynchronous in mind, but Synchronous ws calls
were of great significance. So the receiver concept is expected to
differentiate the behavior of the message path inside the engine which will
be determined based on the MEP in the WSDL and service being a sync/async.
Further the transport layer complexity will be handled inside the
TransportReceiver s and TransportSender s.

> >Wouldn't the Call (or
> > MessageClient) class drive the exchange pattern? 

Not right now in Axis2. If you look at the Call class you ll see that it
provides a generic API so that client Stub can use Call and invoke the
*right method* to get the expected behavior (Sync/Async and MEP). Basically
we will eventually codegen a client side stub based on the MEP and it is
required client behavior that will invoke the *right method* of the Call.
Point that I want to note is that it requires something before the Call
class to make the right Messaging choice.

Personally I believe the concept of p2p messaging goes beyond the
capabilities of the current implementation of Call and I don't think it will
be elegant for us to squeeze the concept of p2p messaging *as it is* and map
the messageprovider and messageconsumer to axis sever and axis client
respectively. Instead may be a different approach such as where
messagerprovider and consumer are axis servers with running services for
both message sending and reception (inplace of the Call) for the p2p
messaging; While supporting the current Call impl which has a very high
usability.

Comments ???


Regards
Chathura





Reply via email to