diff --git a/src/main/java/com/gymtracker/handler/LogAuthHandler.java b/src/main/java/com/gymtracker/handler/LogAuthHandler.java index 2bafb44c27223205aec492fe1fd72bb17c618c0d..fdabd28883cd54c2cf54d1c7b5f77f9cb85512d2 100644 --- a/src/main/java/com/gymtracker/handler/LogAuthHandler.java +++ b/src/main/java/com/gymtracker/handler/LogAuthHandler.java @@ -9,6 +9,7 @@ import org.hibernate.SessionFactory; import javax.xml.namespace.QName; import javax.xml.soap.SOAPBody; +import javax.xml.soap.SOAPFault; import javax.xml.soap.SOAPMessage; import javax.xml.ws.handler.MessageContext; import javax.xml.ws.handler.soap.SOAPHandler; @@ -39,11 +40,20 @@ public class LogAuthHandler implements SOAPHandler<SOAPMessageContext> { if (!outbound) { log(smc, authorized); } - smc.put("authorized", authorized); + if(!authorized) { + SOAPBody body = smc.getMessage().getSOAPBody(); + body.removeContents(); + SOAPFault soapFault = body.addFault(); + soapFault.setFaultCode("Access"); + soapFault.setFaultString("Unauthorized access"); + + return false; + } + return true; } catch (Exception e) { e.printStackTrace(); + return false; } - return true; } private boolean authorize(SOAPMessageContext smc) {