Fix apache camel IN/OUT headers 57/31457/1
authorBansal, Nitin (nb121v) <nitin.bansal@amdocs.com>
Mon, 12 Feb 2018 15:49:27 +0000 (10:49 -0500)
committerBansal, Nitin (nb121v) <nitin.bansal@amdocs.com>
Mon, 12 Feb 2018 15:54:20 +0000 (10:54 -0500)
Fix RestClientProducer router-core component to pass IN/OUT headers

Change-Id: I8a0d04007941cd5ab1ef07a609190ed997d84a56
Issue-ID: AAI-758
Signed-off-by: Bansal, Nitin (nb121v) <nitin.bansal@amdocs.com>
src/main/java/org/onap/aai/rest/RestClientProducer.java

index c4cfce8..2a042d9 100644 (file)
@@ -117,15 +117,16 @@ public class RestClientProducer extends DefaultProducer {
         break;
     }
 
-    // Populate the OUT message with our result.
-    exchange.getOut().setHeader(RestClientEndpoint.OUT_HEADER_RESPONSE_CODE,
+    /** Just use IN headers as camel does not pass incoming headers from IN to OUT so they might be lost .
+    Reference : http://camel.apache.org/using-getin-or-getout-methods-on-exchange.html **/
+    exchange.getIn().setHeader(RestClientEndpoint.OUT_HEADER_RESPONSE_CODE,
         result.getResultCode());
     if (HttpUtil.isHttpResponseClassSuccess(result.getResultCode())) {
-      exchange.getOut().setHeader(RestClientEndpoint.OUT_HEADER_RESPONSE_MSG,
+      exchange.getIn().setHeader(RestClientEndpoint.OUT_HEADER_RESPONSE_MSG,
           responseStatusStringFromResult(result));
-      exchange.getOut().setBody(result.getResult());
+      exchange.getIn().setBody(result.getResult());
     } else {
-      exchange.getOut().setHeader(RestClientEndpoint.OUT_HEADER_RESPONSE_MSG,
+      exchange.getIn().setHeader(RestClientEndpoint.OUT_HEADER_RESPONSE_MSG,
           result.getFailureCause());
     }