synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mukund Balasubramanian" <>
Subject Re: Mediator interface
Date Sun, 09 Oct 2005 12:11:14 GMT
Sorry for being "out of it" but can this include wire and non wire context information? The
use of "WS" normally refers to some form of XML serialization which might be nice but is absolutely
non-essential for synapse mediation contexts.

-----Original Message-----
From: Geoffrey Fox <>
To: <>
Sent: Fri Oct 07 18:45:37 2005
Subject: Re: Mediator interface

As I mentioned in Axis2 F2F six months ago, we use WS-Context to store context
It can be implemented in either an in-memory or distributed fashion. and
provide some implementation modularity and flexibility

Eran Chinthaka wrote:

I think Synapse also will need some sort of context to hold some other information which goes
beyond the simple SOAP message. This is even obvious in Axis as you pass message cotexts to
the handlers and stuff. 
I agree that you can do this by dependency injection, but when its obvious that you always
need that (at least I think so), I think its better to pass some context. If message context
reminds you Axis, then lets rename that to SynapseContext or whatever :-) 

ant elder wrote: 

Or does there even need to be a MessageContext on the interface?

If an aim of Mediators is that they're based on SOAP Infoset and any containment aspects should
be separate then how about the mediate method taking just a SOAP message, something like an
AXIOM SOAPMessage or SOAPEnvelope? If the Mediator really needs access to some context then
Synapse can use dependency injection to pass it in.

interface Mediator {
   public boolean mediate(SOAPEnvelope envelope);

And if a Mediator impl requires context it provides a method like:  

  public void setMessageContext(org.apache.synapse.context.MessageContext mc) {...}

ant elder <> on 07/10/2005 10:42:16 

Please respond to


Subject:    RE: Mediator interface 

What do people think about having a new Synapse MessageContext interface
instead of using the AXIS2 MessageContext class? It makes Synapse quite
invasive - a mediation has dependencies on both Synapse and AXIS2. 

An aim of Synapse mediations is to be based on the SOAP Infoset, but using
the AXIS2 classes brings in far more than that, eg the AXIS2 MC has methods
relating to AXIS2 config - modules, SystemConfiguration etc. And as its a 
class not an interface you can't easily mock it up for unit testing
mediation beans in isolation, you endup needing mocks for all sorts of
unrelated AXIS2 classes. Which surely that goes against Synapse being a
non-invasive container for mediation POJOs?

Similar thing with the AXISFault. I agree with what Eric said earlier about
not using AXISFault. If mediation exceptions are going to be fundamentally
SOAPy faults then AXISFault represents more than that. 


PS. Hi guys



: Geoffrey Fox FAX 8128567972

: Phones Cell 812-219-4643  Home 8123239196 Lab 8128567977

View raw message