diff --git a/src/main/java/com/kms/handler/AuthHandler.java b/src/main/java/com/kms/handler/AuthHandler.java
index 7f57cabab3e835ad972de1f82744f89d80d9fab2..dab838d1e53b4f97d86c5cf585eb8a52499754bd 100644
--- a/src/main/java/com/kms/handler/AuthHandler.java
+++ b/src/main/java/com/kms/handler/AuthHandler.java
@@ -10,9 +10,9 @@ import javax.xml.ws.handler.soap.SOAPMessageContext;
 import java.util.Iterator;
 import java.util.Set;
 
-public class AuthHandler implements SOAPHandler<SOAPMessageContext>  {
+public class AuthHandler implements SOAPHandler<SOAPMessageContext> {
 
-    private static final String REST_API_KEY = System.getenv("REST_API_KEY");
+    private static final String REST_API_KEY = "REST_API_KEY";
     private static final String MONOLITH_API_KEY = System.getenv("MONOLITH_API_KEY");
     private static final String NAMESPACE = "http://service.kms.com/";
 
@@ -27,21 +27,20 @@ public class AuthHandler implements SOAPHandler<SOAPMessageContext>  {
             final SOAPHeader header = soapMessageContext.getMessage().getSOAPHeader();
             final QName apiKeyQName = new QName(NAMESPACE, "apiKey");
             String apiKey = "";
-            final Iterator x = header.getChildElements(apiKeyQName);
-            if (x.hasNext()) {
-                SOAPElement apiKeyElement = (SOAPElement) x.next();
+            final Iterator it = header.getChildElements(apiKeyQName);
+            if (it.hasNext()) {
+                SOAPElement apiKeyElement = (SOAPElement) it.next();
                 apiKey = apiKeyElement.getValue();
             }
 
             String callerId = "null";
-            if (apiKey.equals(REST_API_KEY)) {
+            if (apiKey.equals(REST_API_KEY))
                 callerId = "REST";
-            }else if (apiKey.equals(MONOLITH_API_KEY)) {
+            else if (apiKey.equals(MONOLITH_API_KEY))
                 callerId = "MONOLITH";
-            }
 
             soapMessageContext.put("callerId", callerId);
-        } catch (SOAPException e) {
+        } catch (SOAPException ignored) {
         }
 
         return true;
diff --git a/src/main/java/com/kms/handler/LogHandler.java b/src/main/java/com/kms/handler/LogHandler.java
index 8975be10d24311c9b24dc62070e1211fab1466c2..d612126a87800978c2ae71e07a4f3bd9c2293432 100644
--- a/src/main/java/com/kms/handler/LogHandler.java
+++ b/src/main/java/com/kms/handler/LogHandler.java
@@ -1,35 +1,24 @@
 package com.kms.handler;
 
 import com.kms.crosscut.LoggingHelper;
+import com.kms.handler.helper.SoapFaultHelper;
 import com.sun.net.httpserver.HttpExchange;
-
+import org.w3c.dom.Node;
 import javax.xml.namespace.QName;
 import javax.xml.soap.SOAPBody;
 import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPFactory;
-import javax.xml.soap.SOAPFault;
 import javax.xml.ws.handler.MessageContext;
 import javax.xml.ws.handler.soap.SOAPHandler;
 import javax.xml.ws.handler.soap.SOAPMessageContext;
-import javax.xml.ws.soap.SOAPFaultException;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.net.InetSocketAddress;
+import java.util.Optional;
 import java.util.Set;
 
 public class LogHandler implements SOAPHandler<SOAPMessageContext> {
 
-    private static final SOAPFactory soapFactory;
-
-    static {
-        try {
-            soapFactory = SOAPFactory.newInstance();
-        } catch (SOAPException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
     @Override
     public Set<QName> getHeaders() {
         return null;
@@ -40,9 +29,8 @@ public class LogHandler implements SOAPHandler<SOAPMessageContext> {
         final boolean messageHandled =
                 (boolean) soapMessageContext.getOrDefault("messageHandled", false);
 
-        if (messageHandled) {
+        if (messageHandled)
             return true;
-        }
 
         soapMessageContext.put("messageHandled", true);
 
@@ -55,19 +43,21 @@ public class LogHandler implements SOAPHandler<SOAPMessageContext> {
             soapMessageContext.getMessage().writeTo(outputStream);
             final String callerId = (String) soapMessageContext.getOrDefault("callerId", "null");
 
-            final LoggingHelper loggingHelper = LoggingHelper.getInstance();
+            LoggingHelper loggingHelper = LoggingHelper.getInstance();
             if (callerId.equals("null")) {
-                SOAPFault customFault = soapFactory.createFault();
-                customFault.setFaultCode("InvalidRequest");
-                customFault.setFaultString("API key is invalid.");
-                loggingHelper.log(outputStream.toString(), address,
-                        soapBody.getChildNodes().item(1).getNodeName(), callerId, "invalid api key");
+                String requestedServiceName = Optional.of(soapBody.getChildNodes().item(1))
+                        .map(Node::getNodeName)
+                        .orElse("");
 
-                throw new SOAPFaultException(customFault);
+                loggingHelper.log(outputStream.toString(), address, requestedServiceName,
+                        callerId, "invalid api key");
+
+                SoapFaultHelper.throwFault("InvalidRequest","API key is invalid.");
             }
 
             loggingHelper.log(outputStream.toString(), address,
                     soapBody.getChildNodes().item(1).getNodeName(), callerId, "");
+
         } catch (SOAPException | IOException ignored) {
         }
 
diff --git a/src/main/java/com/kms/handler/helper/SoapFaultHelper.java b/src/main/java/com/kms/handler/helper/SoapFaultHelper.java
new file mode 100644
index 0000000000000000000000000000000000000000..41e459c93707ff8de25420ee1777dbf893720ce9
--- /dev/null
+++ b/src/main/java/com/kms/handler/helper/SoapFaultHelper.java
@@ -0,0 +1,32 @@
+package com.kms.handler.helper;
+
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPFactory;
+import javax.xml.soap.SOAPFault;
+import javax.xml.ws.soap.SOAPFaultException;
+
+public class SoapFaultHelper {
+
+    private static final SOAPFactory soapFactory;
+
+    static {
+        try {
+            soapFactory = SOAPFactory.newInstance();
+        } catch (SOAPException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public static void throwFault(String faultCode, String faultString) {
+        try {
+            SOAPFault customFault = soapFactory.createFault();
+            customFault.setFaultCode(faultCode);
+            customFault.setFaultString(faultString);
+
+            throw new SOAPFaultException(customFault);
+        } catch (SOAPException ignored) {
+        }
+
+    }
+
+}