From 2c3c1d6bb748a0655a83fdf4cd26135042d898b9 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Fri, 19 Jul 2019 10:35:29 +0200 Subject: USP client integration switch to v2.0.7 --- src/main/java/at/gv/util/LoggingHandler.java | 41 ++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 9 deletions(-) (limited to 'src/main/java/at/gv/util/LoggingHandler.java') diff --git a/src/main/java/at/gv/util/LoggingHandler.java b/src/main/java/at/gv/util/LoggingHandler.java index f5c63c5..f4f2685 100644 --- a/src/main/java/at/gv/util/LoggingHandler.java +++ b/src/main/java/at/gv/util/LoggingHandler.java @@ -18,6 +18,11 @@ package at.gv.util; import java.io.ByteArrayOutputStream; import java.io.OutputStreamWriter; +import java.util.Arrays; +import java.util.Base64; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; import java.util.Set; import javax.xml.namespace.QName; @@ -26,6 +31,7 @@ import javax.xml.ws.handler.MessageContext; import javax.xml.ws.handler.soap.SOAPHandler; import javax.xml.ws.handler.soap.SOAPMessageContext; +import org.apache.cxf.message.Message; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,11 +46,12 @@ public class LoggingHandler implements SOAPHandler { Logger log = LoggerFactory.getLogger(LoggingHandler.class); + @Override public boolean handleMessage(SOAPMessageContext context) { - SOAPMessage msg = context.getMessage(); - boolean request = ((Boolean) context + final SOAPMessage msg = context.getMessage(); + final boolean request = ((Boolean) context .get(SOAPMessageContext.MESSAGE_OUTBOUND_PROPERTY)).booleanValue(); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); + final ByteArrayOutputStream bos = new ByteArrayOutputStream(); try { if (request) { @@ -53,27 +60,43 @@ public class LoggingHandler implements SOAPHandler { msg.writeTo(bos); } - OutputStreamWriter writer = new OutputStreamWriter(bos); - String encoding = writer.getEncoding(); - - + final OutputStreamWriter writer = new OutputStreamWriter(bos); + writer.getEncoding(); - log.trace(bos.toString()); + //log.trace(bos.toString()); log.trace(new String(bos.toByteArray())); + log.trace("B64: " + Base64.getEncoder().encodeToString(bos.toByteArray())); + final Map headers = (Map) context.get(Message.PROTOCOL_HEADERS); + if (headers != null) { + for (final Entry el : headers.entrySet()) { + if (el.getValue() != null) + log.trace("Header: " + el.getKey() + " | Value: " + Arrays.toString(el.getValue().toArray())); + else + log.trace("Header: " + el.getKey() + " | Value: " + "'null'"); + + } + + + } else + log.trace("No HTTP headers"); + - } catch (Exception e) { + } catch (final Exception e) { log.trace(e.getMessage(), e); } return true; } + @Override public boolean handleFault(SOAPMessageContext context) { return handleMessage(context); } + @Override public void close(MessageContext context) { } + @Override public Set getHeaders() { return null; } -- cgit v1.2.3