1 package org.onap.so.logging.cxf.interceptor;
4 import java.util.Collections;
7 import java.util.stream.Collectors;
8 import javax.servlet.http.HttpServletRequest;
9 import javax.xml.namespace.QName;
10 import org.apache.cxf.binding.soap.SoapMessage;
11 import org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor;
12 import org.apache.cxf.interceptor.Fault;
13 import org.apache.cxf.message.Message;
14 import org.apache.cxf.phase.Phase;
15 import org.apache.cxf.service.model.MessageInfo;
16 import org.apache.cxf.service.model.OperationInfo;
17 import org.apache.cxf.transport.http.AbstractHTTPDestination;
18 import org.onap.logging.ref.slf4j.ONAPLogConstants;
19 import org.onap.so.exceptions.MSOException;
20 import org.onap.so.logging.jaxrs.filter.JaxRsFilterLogging;
21 import org.onap.so.logging.jaxrs.filter.MDCSetup;
22 import org.slf4j.Logger;
23 import org.slf4j.LoggerFactory;
25 import org.springframework.beans.factory.annotation.Autowired;
26 import org.springframework.stereotype.Component;
29 public class SOAPLoggingOutInterceptor extends AbstractSoapInterceptor{
31 private static final String _500 = "500";
33 protected static Logger logger = LoggerFactory.getLogger(SOAPLoggingOutInterceptor.class);
38 public SOAPLoggingOutInterceptor() {
43 public void handleMessage(SoapMessage message) throws Fault {
45 Exception ex = message.getContent(Exception.class);
47 MDC.put(ONAPLogConstants.MDCs.RESPONSE_STATUS_CODE, ONAPLogConstants.ResponseStatus.COMPLETED.toString());
50 responseCode = (int) message.get(Message.RESPONSE_CODE);
51 if(responseCode != 0 )
52 MDC.put(ONAPLogConstants.MDCs.RESPONSE_CODE, String.valueOf(responseCode));
54 MDC.put(ONAPLogConstants.MDCs.RESPONSE_CODE, _500);
56 MDC.put(ONAPLogConstants.MDCs.RESPONSE_STATUS_CODE, ONAPLogConstants.ResponseStatus.ERROR.toString());
58 logger.info(ONAPLogConstants.Markers.EXIT, "Exiting");
59 } catch (Exception e) {
60 logger.warn("Error in incoming SOAP Message Inteceptor", e);