> 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.

> 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

Reply via email to