This user forum thread raised an issue wrt to an inconsistency between how the HttpRouter
is passing back Http response codes and how the JBossRemoting Gateway is
extracting/expecting them from the message as it populates the JBoss Remoting response
object.
The HttpRouter constructs a HttpResponse object. Into this, it populates the headers as
HttpHeader instances, as well as setting the response payload. It then sets all this in a
fixed (non-default) body location.
The SOAPClient doesn't map response headers at all, but it does use the
MessagePayloadProxy for setting the response payload back on the ESB Message.
The JBR Gateway expects the http headers to be set as ResponseHeader instances in the
message properties (org.jboss.soa.esb.message.ResponseHeader). It extracts the response
payload from the message using a MessagePayloadProxy (so it expects it to be set in the
Message Body).
The Embedded Tomcat Http Gateway works differently again. It expects the response headers
to be set in a Map under a predefined (fixed) key in the message properties. It does
however use the MessagePayloadProxy to get the response payload from the ESB Message.
So my preference would be:
1. All http invokers (HttpRouter, SOAPClient, ??) set the response headers in the message
properties as ResponseHeader instances) and use the MessagePayloadProxy to set the
response payload. The HttpRouter and SOAPClient both use the HttpClientFactory, so they
should be able to use a common codebase for this.
2. All http gateways to expect the http response headers to be presented as outlined in
#1 above.[/url]
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4239944#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...