[jboss-svn-commits] JBL Code SVN: r38168 - in labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/src/org/jboss/soa/esb: message and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Sep 4 02:06:57 EDT 2012


Author: mageshbk at jboss.com
Date: 2012-09-04 02:06:56 -0400 (Tue, 04 Sep 2012)
New Revision: 38168

Modified:
   labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java
   labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/src/org/jboss/soa/esb/message/ResponseStatus.java
Log:
[JBESB-3838] - Fixed the new HttpGateway ignoring HTTP status set by SOAPClient, SOAPProcessor, SOAPProxy and HttpRouter.

Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java	2012-08-28 09:46:30 UTC (rev 38167)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/http/HttpMessageComposer.java	2012-09-04 06:06:56 UTC (rev 38168)
@@ -81,6 +81,9 @@
 
     private static final Logger logger = Logger.getLogger(HttpMessageComposer.class);
 
+    /** Response status key in esb message properties */
+    public static final String HTTP_RESPONSE_STATUS = "org.jboss.soa.esb.listeners.gateway.http.ReponseStatus";
+
 	/** Message payload proxy */
 	private MessagePayloadProxy payloadProxy;
 
@@ -207,7 +210,14 @@
             response.setContentType(((ResponseHeader)contentType).getValue());
         }
 
-        // Response info overrides Content-Type, if present
+        Object code = message.getProperties().getProperty(HttpMessageComposer.HTTP_RESPONSE_STATUS);
+        if (code != null && code instanceof Integer) {
+            status = (Integer)code;
+        } else {
+            status = HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
+        }
+
+        // Response info overrides Content-Type, Status etc., if present
         if(responseInfo != null) {
             for(org.jboss.soa.esb.http.HttpHeader header : responseInfo.getHttpHeaders()) {
                 String headerName = header.getName().toLowerCase();

Modified: labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/src/org/jboss/soa/esb/message/ResponseStatus.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/src/org/jboss/soa/esb/message/ResponseStatus.java	2012-08-28 09:46:30 UTC (rev 38167)
+++ labs/jbossesb/branches/JBESB_4_11_CP/product/rosetta/src/org/jboss/soa/esb/message/ResponseStatus.java	2012-09-04 06:06:56 UTC (rev 38168)
@@ -61,6 +61,7 @@
 		if (statusCode > 0) {
 			properties.setProperty(HTTPMetadataConstants.RESPONSE_CODE, statusCode); // <jbr-provider/>
 			properties.setProperty(HttpMessageComposer.HTTP_RESPONSE_STATUS, statusCode); // <http-provider/>
+			properties.setProperty(org.jboss.soa.esb.listeners.gateway.http.HttpMessageComposer.HTTP_RESPONSE_STATUS, statusCode); // <http-gateway/>
 		}
 		if (statusMessage != null) {
 			properties.setProperty(HTTPMetadataConstants.RESPONSE_CODE_MESSAGE, statusMessage); // <jbr-provider/>



More information about the jboss-svn-commits mailing list