On Fri, 2005-11-11 at 07:40 -0800, Ajith Ranabahu wrote: > Hi all, > I see that folks have different views on putting this particular > SOAPMessageContext, most probably as part of Axis2 itself would be > slightly inappropriate since Axis2 can survive nicely without it :). > Here's my plan to make both worlds happy. Instead of just creating > message contexts inside, we provide a MessageContextFactory that is > settable from outside (probably through Axis2.xml). This makes it > flexible enough for Synapse to introduce it's own context and Axis2 > never needs to know about Synapse or anything! SOAPMsgCtxt can remain > as part of Synapse rather than Axis2
The idea was to simply define an interface named SOAPMessageContext with the proposed methods (which are a strict subset of the MessageContext APIs, IIUC) and then declare that MessageContext implements that. Thus Axis2 does not have to change but the Synapse APIs are clean and simple to Synapse rule engine and mediator writers. To do this really cleanly would require quit a bit of surgery to move the addressing stuff from core to the xml module. I'm not a fan of doing that at this point .. I'd rather define the interface inside o.a.axis2.context package and live with it. This does not achieve total independence of Synapse from Axis2; IMO that's not an easy task .. unless you go down to StAX as the API to the SOAP message. Even then you have to figure out how to represent other contextual information. Sanjiva.
