Lorenzo Yes - that is *exactly* the scenario that Synapse is designed for.
The first question I have is what information are you routing on? There are two main approaches you can take: 1) source routing. The client decides on the ultimate destination, and conveys this to the Synapse node. In this case the Synapse node can act like an HTTP proxy, or as a SOAP intermediary. The final URL is carried either in the HTTP header (HTTP proxy mode) or in the WS-Addressing To address [there is a trick to get Axis2 to send the message to Synapse at the transport level] 2) Synapse-based routing. In this model Synapse looks at the message and decides where its going. This can be a hard-coded link from the incoming Synapse endpoint URL to a real URL (virtualization), or it can be looking into the message (content-based routing). You can edit headers, log the message and even transform it in Synapse. We have simple directives to edit the headers, and log. For more complex transformations you can use XSLT, Java or even Javascript. As for ReliableMessaging, you can do this end-to-end, or we can get Synapse to start the session and then terminate it if your ultimate endpoints dont support RM. Here are the two options: 1) Client ----RM--->Synapse-----RM---->Synapse-----RM---->Server In this option we basically ignore the RM at the Synapse level and just proxy it through. 2) Client----SOAP-no-RM---->Syn-----RM------->Syn-----SOAP-No-RM---->Server In this case Synapse takes care of the RM for you. Of course there are other combinations too. Finally, yes Synapse takes advantage of Axis2 features. It runs on top of Axis2 and for example to implement RM we drop down into Axis2/Sandesha2. Paul On 3/7/07, Lorenzo <[EMAIL PROTECTED]> wrote:
Hi, i'm new to Axis2 and really new to Synapse (discovered just yesterday) i have this problem: i have a client and a server that exchange soap messages. i have to put one (or more) proxies between those two nodes in a trasparent way for them. The only thing i can change in the client is the EPR to the first proxy. So my proxy should do this: -receive the message from the client -do some stuff on the message (record, edit headers, etc..) -choose the next recipient (depending by message's content) -route the message to it I should also add ws-ReliableMessaging in the whole communication process, but i think i can do it only in proxy2proxy communication because my client and server could not support it (it's right?) Which is the better way in order to resolve this situation? Does Synapse fit for this? Can i use Synapse also to edit the message? Is id build on Axis2 and can i use the Axis2 features? Thx in advance. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Paul Fremantle VP/Technology, WSO2 and OASIS WS-RX TC Co-chair http://bloglines.com/blog/paulfremantle [EMAIL PROTECTED] "Oxygenating the Web Service Platform", www.wso2.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
