diff --git a/src/main/java/org/tubes/middlewares/ApiKeyMiddleware.java b/src/main/java/org/tubes/middlewares/ApiKeyMiddleware.java
index 512245660ed55115206855c7403fdf9b76091c27..a424a990cbd28ded11de8d5b9c23323f3b710bde 100644
--- a/src/main/java/org/tubes/middlewares/ApiKeyMiddleware.java
+++ b/src/main/java/org/tubes/middlewares/ApiKeyMiddleware.java
@@ -29,7 +29,6 @@ public class ApiKeyMiddleware implements SOAPHandler<SOAPMessageContext> {
 
     @Override
     public boolean handleMessage(SOAPMessageContext context) {
-        System.out.println(this.context);
         Boolean isOutbound = (Boolean) context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
         if (!isOutbound) {
             try {
diff --git a/src/main/java/org/tubes/middlewares/LoggingMiddleware.java b/src/main/java/org/tubes/middlewares/LoggingMiddleware.java
index d11f0eb0802470e17e70df819453e005b4f1de2c..ec0c0f96a2c6eb4b16437413a74b0acc364def22 100644
--- a/src/main/java/org/tubes/middlewares/LoggingMiddleware.java
+++ b/src/main/java/org/tubes/middlewares/LoggingMiddleware.java
@@ -52,23 +52,24 @@ public class LoggingMiddleware implements SOAPHandler<SOAPMessageContext> {
 
     @Override
     public boolean handleMessage(SOAPMessageContext context) {
-        String client = (String) context.get("authenticated-client");
+        String client = (String) context.get("client");
         Boolean isOutbound = (Boolean) context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
-        HttpExchange httpExchange = (HttpExchange) context.get(this.httpExchangeKey);
 
         if (isOutbound) {
             return true;
         }
+        HttpExchange httpExchange = (HttpExchange) context.get(this.httpExchangeKey);
+
         String remoteAddr = getRemoteAddr(context);
         String endpoint = httpExchange.getRequestURI().toString();
-
-
         try {
             SOAPPart soapPart = context.getMessage().getSOAPPart();
             SOAPEnvelope soapEnvelope = soapPart.getEnvelope();
             SOAPBody soapBody = soapEnvelope.getBody();
 
-            Node operation = soapBody.getChildNodes().item(1);
+            NodeList operations = soapBody.getChildNodes();
+
+            Node operation = operations.item(operations.getLength() - 1);
             String description = String.format("%s called %s", client, operation.getLocalName());
 
             NodeList parameters = operation.getChildNodes();
@@ -76,6 +77,7 @@ public class LoggingMiddleware implements SOAPHandler<SOAPMessageContext> {
             for (int i = 1; i < parameters.getLength(); i += 2){
                 description = String.format("%s %s(%s)", description, parameters.item(i).getLocalName(), parameters.item(i).getTextContent());
             }
+            System.out.println(description);
             Timestamp ts = new Timestamp(System.currentTimeMillis());
             String s = ts.toString().split("\\.")[0];
             Log model = new Log(description, remoteAddr, endpoint, s);
@@ -85,6 +87,8 @@ public class LoggingMiddleware implements SOAPHandler<SOAPMessageContext> {
             return false;
         } catch (SQLException e) {
             throw new RuntimeException(e);
+        } catch (Exception e) {
+           e.printStackTrace();
         }
         return true;
     }
diff --git a/src/main/resources/handler-chain.xml b/src/main/resources/handler-chain.xml
index 35090ccc3ea930092e04f1fd150b877769f4b8b5..2d036d62dec1eb807c9ad4771a5d2cecfe34f498 100644
--- a/src/main/resources/handler-chain.xml
+++ b/src/main/resources/handler-chain.xml
@@ -2,10 +2,10 @@
 <handler-chains xmlns="http://java.sun.com/xml/ns/javaee">
     <handler-chain>
         <handler>
-            <handler-class>org.tubes.middlewares.ApiKeyMiddleware</handler-class>
+            <handler-class>org.tubes.middlewares.LoggingMiddleware</handler-class>
         </handler>
         <handler>
-            <handler-class>org.tubes.middlewares.LoggingMiddleware</handler-class>
+            <handler-class>org.tubes.middlewares.ApiKeyMiddleware</handler-class>
         </handler>
     </handler-chain>
 </handler-chains>
\ No newline at end of file