On Sun, Mar 15, 2009 at 20:36, Hubert, Eric <eric.hub...@foxmobile.com> wrote: >> For two reasons: >> >> 1. Message formatters should be protocol independent (even if they >> have access to the full MessageContext). > > This is currently not the case. Whereas the rest of Synapse is totally > unaware of any Hessian specifics, the Hessian Builder/Formatter pair is > actually the protocol dependent implementation. It is only used for > Hessian Messages and has to be configured (activated) in axis2.xml for > the specific content type.
My statement was not precise enough. What I wanted to say is that message formatters should be _transport_ protocol independent. On the other hand, as you point out, they implement a specific _application_ protocol. BTW, is Hessian used on other transport protocols, such as JMS? >> 2. Probably when the message formatter is invoked, it is already too >> late to set the HTTP status code. > Excactly! Thats the definite reason. The whole http headers are already > written when it comes to the formatter. > > See HttpCoreNIOSender.sendAsyncResponse(): > > worker.getServiceHandler().commitResponse(worker.getConn(), response); > // ... > OutputStream out = worker.getOutputStream(); > //.. > messageFormatter.writeTo(msgContext, format, out, false); > > Regards, > Eric > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org > For additional commands, e-mail: dev-h...@synapse.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org For additional commands, e-mail: dev-h...@synapse.apache.org