summaryrefslogtreecommitdiffstats
path: root/cxf-logging/src/main/java/org/onap/so/logging/cxf/interceptor/SOAPLoggingOutInterceptor.java
diff options
context:
space:
mode:
authorSmokowski, Steve (ss835w) <ss835w@us.att.com>2018-09-04 15:31:38 -0400
committerSmokowski, Steve (ss835w) <ss835w@us.att.com>2018-09-05 10:51:55 -0400
commite2c77490982e448fb94477cebc5b7d4b8110321d (patch)
tree1cc4a77f04856d366edb327e4402678de7df32e3 /cxf-logging/src/main/java/org/onap/so/logging/cxf/interceptor/SOAPLoggingOutInterceptor.java
parent43e02724c56abd460e41a1715ff5057b036e6270 (diff)
Client Logging
Update Client Logging to use interceptor Move CXF to own project due to dependency hell Issue-ID: SO-947 Change-Id: I2597ff6d32231b8625b04ef63ab5e8f589e2545c Signed-off-by: Smokowski, Steve (ss835w) <ss835w@us.att.com>
Diffstat (limited to 'cxf-logging/src/main/java/org/onap/so/logging/cxf/interceptor/SOAPLoggingOutInterceptor.java')
-rw-r--r--cxf-logging/src/main/java/org/onap/so/logging/cxf/interceptor/SOAPLoggingOutInterceptor.java49
1 files changed, 49 insertions, 0 deletions
diff --git a/cxf-logging/src/main/java/org/onap/so/logging/cxf/interceptor/SOAPLoggingOutInterceptor.java b/cxf-logging/src/main/java/org/onap/so/logging/cxf/interceptor/SOAPLoggingOutInterceptor.java
new file mode 100644
index 0000000000..1ddf268ea8
--- /dev/null
+++ b/cxf-logging/src/main/java/org/onap/so/logging/cxf/interceptor/SOAPLoggingOutInterceptor.java
@@ -0,0 +1,49 @@
+package org.onap.so.logging.cxf.interceptor;
+
+
+import org.apache.cxf.binding.soap.SoapMessage;
+import org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor;
+import org.apache.cxf.interceptor.Fault;
+import org.apache.cxf.message.Message;
+import org.apache.cxf.phase.Phase;
+import org.onap.logging.ref.slf4j.ONAPLogConstants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
+
+
+
+public class SOAPLoggingOutInterceptor extends AbstractSoapInterceptor{
+
+ private static final String _500 = "500";
+
+ protected static Logger logger = LoggerFactory.getLogger(SOAPLoggingOutInterceptor.class);
+
+
+
+ public SOAPLoggingOutInterceptor() {
+ super(Phase.WRITE);
+ }
+
+ @Override
+ public void handleMessage(SoapMessage message) throws Fault {
+ try {
+ Exception ex = message.getContent(Exception.class);
+ if (ex == null) {
+ MDC.put(ONAPLogConstants.MDCs.RESPONSE_STATUS_CODE, ONAPLogConstants.ResponseStatus.COMPLETED.toString());
+ }else{
+ int responseCode = 0;
+ responseCode = (int) message.get(Message.RESPONSE_CODE);
+ if(responseCode != 0 )
+ MDC.put(ONAPLogConstants.MDCs.RESPONSE_CODE, String.valueOf(responseCode));
+ else
+ MDC.put(ONAPLogConstants.MDCs.RESPONSE_CODE, _500);
+
+ MDC.put(ONAPLogConstants.MDCs.RESPONSE_STATUS_CODE, ONAPLogConstants.ResponseStatus.ERROR.toString());
+ }
+ logger.info(ONAPLogConstants.Markers.EXIT, "Exiting");
+ } catch (Exception e) {
+ logger.warn("Error in incoming SOAP Message Inteceptor", e);
+ }
+ }
+}