[java-opensaml] branch main updated: OSJ-354: Suffix the PROTOCOL_MESSAGE category with .SAML
Brent Putman
putmanb at georgetown.edu
Wed Aug 2 23:28:25 UTC 2023
This is an automated email from the git hooks/post-receive script.
putmanb pushed a commit to branch main
in repository java-opensaml.
View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=97b5d9c87bbbe90fd9c9ae067408beb20f78a52c
The following commit(s) were added to refs/heads/main by this push:
new 97b5d9c87 OSJ-354: Suffix the PROTOCOL_MESSAGE category with .SAML
97b5d9c87 is described below
commit 97b5d9c87bbbe90fd9c9ae067408beb20f78a52c
Author: Brent Putman <putmanb at georgetown.edu>
AuthorDate: Tue Aug 1 23:17:44 2023 -0400
OSJ-354: Suffix the PROTOCOL_MESSAGE category with .SAML
---
.../messaging/decoder/AbstractMessageDecoder.java | 97 +++++++++++++++++-
.../BaseHttpClientResponseXMLMessageDecoder.java | 49 +++------
.../BaseHttpServletRequestXMLMessageDecoder.java | 49 +++------
.../messaging/encoder/AbstractMessageEncoder.java | 109 +++++++++++++++++++--
.../BaseHttpClientRequestXMLMessageEncoder.java | 44 +++------
.../BaseHttpServletResponseXMLMessageEncoder.java | 42 +++-----
.../impl/BaseSAMLHttpServletRequestDecoder.java | 30 ++++++
.../impl/BaseSAMLHttpServletResponseEncoder.java | 30 ++++++
.../binding/decoding/impl/HTTPArtifactDecoder.java | 4 +-
.../binding/decoding/impl/HTTPPostDecoder.java | 4 +-
.../binding/decoding/impl/HTTPSOAP11Decoder.java | 9 ++
.../impl/HttpClientResponseSOAP11Decoder.java | 1 +
.../encoding/impl/BaseSAML1MessageEncoder.java | 4 +-
.../binding/encoding/impl/HTTPSOAP11Encoder.java | 8 ++
.../impl/HttpClientRequestSOAP11Encoder.java | 6 ++
.../binding/decoding/impl/HTTPArtifactDecoder.java | 4 +-
.../binding/decoding/impl/HTTPPostDecoder.java | 4 +-
.../decoding/impl/HTTPRedirectDeflateDecoder.java | 4 +-
.../binding/decoding/impl/HTTPSOAP11Decoder.java | 6 ++
.../impl/HttpClientResponseSOAP11Decoder.java | 1 +
.../encoding/impl/BaseSAML2MessageEncoder.java | 4 +-
.../binding/encoding/impl/HTTPSOAP11Encoder.java | 3 +-
.../impl/HttpClientRequestSOAP11Encoder.java | 6 ++
.../src/test/resources/logback-test.xml | 6 +-
.../http/impl/HttpClientResponseSOAP11Decoder.java | 6 ++
.../http/impl/HttpClientRequestSOAP11Encoder.java | 2 +
.../decoder/http/impl/HTTPSOAP11Decoder.java | 8 +-
.../encoder/http/impl/HTTPSOAP11Encoder.java | 2 +
.../src/test/resources/logback-test.xml | 6 +-
29 files changed, 393 insertions(+), 155 deletions(-)
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/AbstractMessageDecoder.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/AbstractMessageDecoder.java
index d495a9bc1..5c406e73e 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/AbstractMessageDecoder.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/AbstractMessageDecoder.java
@@ -14,27 +14,42 @@
package org.opensaml.messaging.decoder;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
+import org.slf4j.Logger;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.UnmodifiableComponent;
+import net.shibboleth.shared.primitive.LoggerFactory;
+import net.shibboleth.shared.primitive.StringSupport;
/**
* Abstract message decoder.
*/
public abstract class AbstractMessageDecoder extends AbstractInitializableComponent
implements MessageDecoder, UnmodifiableComponent {
+
+ @Nonnull public static final String BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY = "PROTOCOL_MESSAGE";
+
+ /** Used to log protocol messages. */
+ @Nonnull private Logger protocolMessageLog = LoggerFactory.getLogger(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY);
+
+ /** Class logger. */
+ @Nonnull private final Logger log = LoggerFactory.getLogger(AbstractMessageDecoder.class);
/** Message context. */
@Nullable private MessageContext messageContext;
+
+ /** The configured logging category for protocol messages. */
+ @Nonnull private String protocolMessageLoggerCategory = BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY;
/** {@inheritDoc} */
@Nullable public MessageContext getMessageContext() {
return messageContext;
}
-
+
/**
* Set the message context.
*
@@ -48,6 +63,85 @@ public abstract class AbstractMessageDecoder extends AbstractInitializableCompon
public void decode() throws MessageDecodingException {
checkComponentActive();
doDecode();
+ logDecodedMessage();
+ }
+
+ /**
+ * Get the protocol message logger.
+ *
+ * @return The protocol message logger
+ */
+ @Nonnull protected Logger getProtocolMessageLogger() {
+ return protocolMessageLog;
+ }
+
+ /**
+ * Get the configured logging category for protocol messages.
+ *
+ * @return the logging category
+ */
+ @Nonnull protected String getProtocolMessageLoggerCategory() {
+ return protocolMessageLoggerCategory;
+ }
+
+ /**
+ * Set the configured logging category for protocol messages.
+ *
+ * <p>
+ * If null, {@link AbstractMessageDecoder#BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY} will be used.
+ * </p>
+ *
+ * @param category the logging category
+ */
+ protected void setProtocolMessageLoggerCategory(@Nullable final String category) {
+ final String trimmed = StringSupport.trimOrNull(category);
+ if (trimmed != null) {
+ protocolMessageLoggerCategory = trimmed;
+ } else {
+ protocolMessageLoggerCategory = BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY;
+ }
+ protocolMessageLog = LoggerFactory.getLogger(protocolMessageLoggerCategory);
+ }
+
+ /**
+ * Log the decoded message to the protocol message logger.
+ */
+ protected void logDecodedMessage() {
+ if (protocolMessageLog.isDebugEnabled() ){
+ final String serializedMessage = serializeMessageForLogging(getMessageToLog());
+ if (serializedMessage == null) {
+ log.debug("Serialized decoded protocol message was null, nothing to log");
+ return;
+ }
+
+ protocolMessageLog.debug("\n" + serializedMessage);
+ }
+ }
+
+ /**
+ * Get the XMLObject which will be logged as the protocol message.
+ *
+ * @return the XMLObject message considered to be the protocol message for logging purposes
+ */
+ @Nullable protected Object getMessageToLog() {
+ final MessageContext mc = getMessageContext();
+ return mc != null ? mc.getMessage() : null;
+ }
+
+ /**
+ * Serialize the message for logging purposes.
+ *
+ * <p>
+ * Default implementation is to return the message object's {@link #toString()},
+ * but subclasses should override if a better message-specific serialization mechanism exists.
+ * </p>
+ *
+ * @param message the message to serialize
+ *
+ * @return the serialized message, or null if message can not be serialized
+ */
+ @Nullable protected String serializeMessageForLogging(@Nullable final Object message) {
+ return message != null ? message.toString() : null;
}
/**
@@ -57,5 +151,6 @@ public abstract class AbstractMessageDecoder extends AbstractInitializableCompon
* @throws MessageDecodingException thrown if there is a problem decoding the message
*/
protected abstract void doDecode() throws MessageDecodingException;
+
}
\ No newline at end of file
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/httpclient/BaseHttpClientResponseXMLMessageDecoder.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/httpclient/BaseHttpClientResponseXMLMessageDecoder.java
index 121c837b9..a908792de 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/httpclient/BaseHttpClientResponseXMLMessageDecoder.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/httpclient/BaseHttpClientResponseXMLMessageDecoder.java
@@ -32,10 +32,8 @@ import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.core.xml.io.MarshallingException;
import org.opensaml.core.xml.io.UnmarshallingException;
import org.opensaml.core.xml.util.XMLObjectSupport;
-import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.decoder.MessageDecodingException;
import org.slf4j.Logger;
-
import org.w3c.dom.Element;
/**
@@ -44,9 +42,6 @@ import org.w3c.dom.Element;
*/
public abstract class BaseHttpClientResponseXMLMessageDecoder extends AbstractHttpClientResponseMessageDecoder {
- /** Used to log protocol messages. */
- @Nonnull private Logger protocolMessageLog = LoggerFactory.getLogger("PROTOCOL_MESSAGE");
-
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(BaseHttpClientResponseXMLMessageDecoder.class);
@@ -63,8 +58,6 @@ public abstract class BaseHttpClientResponseXMLMessageDecoder extends AbstractHt
log.debug("Beginning to decode message from HttpResponse");
super.decode();
-
- logDecodedMessage();
log.debug("Successfully decoded message from HttpResponse");
}
@@ -97,35 +90,21 @@ public abstract class BaseHttpClientResponseXMLMessageDecoder extends AbstractHt
throw new ComponentInitializationException("Parser pool cannot be null");
}
}
-
- /**
- * Log the decoded message to the protocol message logger.
- */
- protected void logDecodedMessage() {
- if (protocolMessageLog.isDebugEnabled() ){
- final Object message = getMessageToLog();
- if (message == null || !(message instanceof XMLObject)) {
- log.warn("Decoded message was null or unsupported, nothing to log");
- return;
- }
-
- try {
- final Element dom = XMLObjectSupport.marshall((XMLObject) message);
- protocolMessageLog.debug("\n" + SerializeSupport.prettyPrintXML(dom));
- } catch (final MarshallingException e) {
- log.error("Unable to marshall message for logging purposes", e);
- }
- }
- }
- /**
- * Get the XMLObject which will be logged as the protocol message.
- *
- * @return the XMLObject message considered to be the protocol message for logging purposes
- */
- @Nullable protected Object getMessageToLog() {
- final MessageContext mc = getMessageContext();
- return mc != null ? mc.getMessage() : null;
+ /** {@inheritDoc} */
+ @Override
+ @Nullable protected String serializeMessageForLogging(@Nullable final Object message) {
+ if (message == null || !XMLObject.class.isInstance(message)) {
+ log.debug("Message was null or unsupported, can not serialize");
+ return null;
+ }
+ try {
+ final Element dom = XMLObjectSupport.marshall(XMLObject.class.cast(message));
+ return SerializeSupport.prettyPrintXML(dom);
+ } catch (MarshallingException e) {
+ log.error("Unable to marshall message for logging purposes", e);
+ return null;
+ }
}
/**
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/BaseHttpServletRequestXMLMessageDecoder.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/BaseHttpServletRequestXMLMessageDecoder.java
index fc20af3e3..11683367d 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/BaseHttpServletRequestXMLMessageDecoder.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/decoder/servlet/BaseHttpServletRequestXMLMessageDecoder.java
@@ -24,11 +24,9 @@ import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.core.xml.io.MarshallingException;
import org.opensaml.core.xml.io.UnmarshallingException;
import org.opensaml.core.xml.util.XMLObjectSupport;
-import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.decoder.MessageDecoder;
import org.opensaml.messaging.decoder.MessageDecodingException;
import org.slf4j.Logger;
-
import org.w3c.dom.Element;
import jakarta.servlet.http.HttpServletRequest;
@@ -45,9 +43,6 @@ import net.shibboleth.shared.xml.XMLParserException;
*/
public abstract class BaseHttpServletRequestXMLMessageDecoder extends AbstractHttpServletRequestMessageDecoder {
- /** Used to log protocol messages. */
- @Nonnull private Logger protocolMessageLog = LoggerFactory.getLogger("PROTOCOL_MESSAGE");
-
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(BaseHttpServletRequestXMLMessageDecoder.class);
@@ -74,8 +69,6 @@ public abstract class BaseHttpServletRequestXMLMessageDecoder extends AbstractHt
super.decode();
- logDecodedMessage();
-
log.debug("Successfully decoded message from HttpServletRequest.");
}
@@ -107,35 +100,21 @@ public abstract class BaseHttpServletRequestXMLMessageDecoder extends AbstractHt
throw new ComponentInitializationException("Parser pool cannot be null");
}
}
-
- /**
- * Log the decoded message to the protocol message logger.
- */
- protected void logDecodedMessage() {
- if (protocolMessageLog.isDebugEnabled() ){
- final Object message = getMessageToLog();
- if (!(message instanceof XMLObject)) {
- log.warn("Decoded message was null or unsupported, nothing to log");
- return;
- }
-
- try {
- final Element dom = XMLObjectSupport.marshall((XMLObject) message);
- protocolMessageLog.debug("\n" + SerializeSupport.prettyPrintXML(dom));
- } catch (final MarshallingException e) {
- log.error("Unable to marshall message for logging purposes", e);
- }
- }
- }
- /**
- * Get the XMLObject which will be logged as the protocol message.
- *
- * @return the XMLObject message considered to be the protocol message for logging purposes
- */
- @Nullable protected Object getMessageToLog() {
- final MessageContext mc = getMessageContext();
- return mc != null ? mc.getMessage() : null;
+ /** {@inheritDoc} */
+ @Override
+ @Nullable protected String serializeMessageForLogging(@Nullable final Object message) {
+ if (message == null || !XMLObject.class.isInstance(message)) {
+ log.debug("Message was null or unsupported, can not serialize");
+ return null;
+ }
+ try {
+ final Element dom = XMLObjectSupport.marshall(XMLObject.class.cast(message));
+ return SerializeSupport.prettyPrintXML(dom);
+ } catch (MarshallingException e) {
+ log.error("Unable to marshall message for logging purposes", e);
+ return null;
+ }
}
/**
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/AbstractMessageEncoder.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/AbstractMessageEncoder.java
index 024cc1fb6..ada6cebd6 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/AbstractMessageEncoder.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/AbstractMessageEncoder.java
@@ -14,23 +14,39 @@
package org.opensaml.messaging.encoder;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
+import org.opensaml.messaging.decoder.AbstractMessageDecoder;
+import org.slf4j.Logger;
import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.component.AbstractInitializableComponent;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.component.UnmodifiableComponent;
+import net.shibboleth.shared.primitive.LoggerFactory;
+import net.shibboleth.shared.primitive.StringSupport;
/**
* Abstract message encoder.
*/
public abstract class AbstractMessageEncoder extends AbstractInitializableComponent
implements MessageEncoder, UnmodifiableComponent {
+
+ @Nonnull public static final String BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY = "PROTOCOL_MESSAGE";
+
+ /** Used to log protocol messages. */
+ @Nonnull private Logger protocolMessageLog = LoggerFactory.getLogger(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY);
+
+ /** Class logger. */
+ @Nonnull private final Logger log = LoggerFactory.getLogger(AbstractMessageEncoder.class);
/** The message context. */
@NonnullAfterInit private MessageContext messageContext;
+
+ /** The configured logging category for protocol messages. */
+ @Nonnull private String protocolMessageLoggerCategory = BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY;
/** {@inheritDoc} */
public synchronized void setMessageContext(@Nullable final MessageContext context) {
@@ -38,13 +54,7 @@ public abstract class AbstractMessageEncoder extends AbstractInitializableCompon
messageContext = context;
}
-
- /** {@inheritDoc} */
- public void encode() throws MessageEncodingException {
- checkComponentActive();
- doEncode();
- }
-
+
/** {@inheritDoc}.
*
* Default implementation is a no-op.
@@ -70,6 +80,91 @@ public abstract class AbstractMessageEncoder extends AbstractInitializableCompon
throw new ComponentInitializationException("Message context cannot be null");
}
}
+
+ /** {@inheritDoc} */
+ public void encode() throws MessageEncodingException {
+ checkComponentActive();
+ doEncode();
+ logEncodedMessage();
+ }
+
+ /**
+ * Get the protocol message logger.
+ *
+ * @return The protocol message logger
+ */
+ @Nonnull protected Logger getProtocolMessageLogger() {
+ return protocolMessageLog;
+ }
+
+ /**
+ * Get the configured logging category for protocol messages.
+ *
+ * @return the logging category
+ */
+ @Nonnull protected String getProtocolMessageLoggerCategory() {
+ return protocolMessageLoggerCategory;
+ }
+
+ /**
+ * Set the configured logging category for protocol messages.
+ *
+ * <p>
+ * If null, {@link AbstractMessageDecoder#BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY} will be used.
+ * </p>
+ *
+ * @param category the logging category
+ */
+ protected void setProtocolMessageLoggerCategory(@Nullable final String category) {
+ final String trimmed = StringSupport.trimOrNull(category);
+ if (trimmed != null) {
+ protocolMessageLoggerCategory = trimmed;
+ } else {
+ protocolMessageLoggerCategory = BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY;
+ }
+ protocolMessageLog = LoggerFactory.getLogger(protocolMessageLoggerCategory);
+ }
+
+ /**
+ * Log the encoded message to the protocol message logger.
+ */
+ protected void logEncodedMessage() {
+ if (protocolMessageLog.isDebugEnabled() ){
+ final String serializedMessage = serializeMessageForLogging(getMessageToLog());
+ if (serializedMessage == null) {
+ log.debug("Serialized encoded protocol message was null, nothing to log");
+ return;
+ }
+
+ protocolMessageLog.debug("\n" + serializedMessage);
+ }
+ }
+
+ /**
+ * Get the XMLObject which will be logged as the protocol message.
+ *
+ * @return the XMLObject message considered to be the protocol message for logging purposes
+ */
+ @Nullable protected Object getMessageToLog() {
+ final MessageContext mc = getMessageContext();
+ return mc != null ? mc.getMessage() : null;
+ }
+
+ /**
+ * Serialize the message for logging purposes.
+ *
+ * <p>
+ * Default implementation is to return the message object's {@link #toString()},
+ * but subclasses should override if a better message-specific serialization mechanism exists.
+ * </p>
+ *
+ * @param message the message to serialize
+ *
+ * @return the serialized message, or null if message can not be serialized
+ */
+ @Nullable protected String serializeMessageForLogging(@Nullable final Object message) {
+ return message != null ? message.toString() : null;
+ }
/**
* Performs the encoding logic. By the time this is called, this encoder has already been initialized and checked to
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/httpclient/BaseHttpClientRequestXMLMessageEncoder.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/httpclient/BaseHttpClientRequestXMLMessageEncoder.java
index 7011982de..6a566243a 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/httpclient/BaseHttpClientRequestXMLMessageEncoder.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/httpclient/BaseHttpClientRequestXMLMessageEncoder.java
@@ -53,40 +53,24 @@ public abstract class BaseHttpClientRequestXMLMessageEncoder extends AbstractHt
}
super.encode();
-
- logEncodedMessage();
log.debug("Successfully encoded message.");
}
-
- /**
- * Log the encoded message to the protocol message logger.
- */
- protected void logEncodedMessage() {
- if (protocolMessageLog.isDebugEnabled() ){
- final Object message = getMessageToLog();
- if (message == null || !(message instanceof XMLObject)) {
- log.warn("Encoded message was null or unsupported, nothing to log");
- return;
- }
-
- try {
- final Element dom = XMLObjectSupport.marshall((XMLObject) message);
- protocolMessageLog.debug("\n" + SerializeSupport.prettyPrintXML(dom));
- } catch (final MarshallingException e) {
- log.error("Unable to marshall message for logging purposes", e);
- }
- }
- }
- /**
- * Get the XMLObject which will be logged as the protocol message.
- *
- * @return the XMLObject message considered to be the protocol message for logging purposes
- */
- @Nullable protected Object getMessageToLog() {
- final MessageContext mc = getMessageContext();
- return mc != null ? mc.getMessage() : null;
+ /** {@inheritDoc} */
+ @Override
+ @Nullable protected String serializeMessageForLogging(@Nullable final Object message) {
+ if (message == null || !XMLObject.class.isInstance(message)) {
+ log.debug("Message was null or unsupported, can not serialize");
+ return null;
+ }
+ try {
+ final Element dom = XMLObjectSupport.marshall(XMLObject.class.cast(message));
+ return SerializeSupport.prettyPrintXML(dom);
+ } catch (MarshallingException e) {
+ log.error("Unable to marshall message for logging purposes", e);
+ return null;
+ }
}
/**
diff --git a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/BaseHttpServletResponseXMLMessageEncoder.java b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/BaseHttpServletResponseXMLMessageEncoder.java
index 69adec509..77a2318b8 100644
--- a/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/BaseHttpServletResponseXMLMessageEncoder.java
+++ b/opensaml-messaging-api/src/main/java/org/opensaml/messaging/encoder/servlet/BaseHttpServletResponseXMLMessageEncoder.java
@@ -53,40 +53,24 @@ public abstract class BaseHttpServletResponseXMLMessageEncoder extends Abstract
}
super.encode();
-
- logEncodedMessage();
log.debug("Successfully encoded message.");
}
- /**
- * Log the encoded message to the protocol message logger.
- */
- protected void logEncodedMessage() {
- if (protocolMessageLog.isDebugEnabled() ){
- final Object message = getMessageToLog();
- if (message == null || !(message instanceof XMLObject)) {
- log.warn("Encoded message was null or unsupported, nothing to log");
- return;
- }
-
- try {
- final Element dom = XMLObjectSupport.marshall((XMLObject) message);
- protocolMessageLog.debug("\n" + SerializeSupport.prettyPrintXML(dom));
- } catch (final MarshallingException e) {
- log.error("Unable to marshall message for logging purposes", e);
- }
+ /** {@inheritDoc} */
+ @Override
+ @Nullable protected String serializeMessageForLogging(@Nullable final Object message) {
+ if (message == null || !XMLObject.class.isInstance(message)) {
+ log.debug("Message was null or unsupported, can not serialize");
+ return null;
+ }
+ try {
+ final Element dom = XMLObjectSupport.marshall(XMLObject.class.cast(message));
+ return SerializeSupport.prettyPrintXML(dom);
+ } catch (MarshallingException e) {
+ log.error("Unable to marshall message for logging purposes", e);
+ return null;
}
- }
-
- /**
- * Get the XMLObject which will be logged as the protocol message.
- *
- * @return the XMLObject message considered to be the protocol message for logging purposes
- */
- @Nullable protected Object getMessageToLog() {
- final MessageContext mc = getMessageContext();
- return mc != null ? mc.getMessage() : null;
}
/**
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/BaseSAMLHttpServletRequestDecoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/BaseSAMLHttpServletRequestDecoder.java
new file mode 100644
index 000000000..224fce999
--- /dev/null
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/BaseSAMLHttpServletRequestDecoder.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.saml.common.binding.impl;
+
+import org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXMLMessageDecoder;
+
+/**
+ * Abstract base decoder for SAML decoders.
+ */
+public abstract class BaseSAMLHttpServletRequestDecoder extends BaseHttpServletRequestXMLMessageDecoder {
+
+ /** Constructor. */
+ public BaseSAMLHttpServletRequestDecoder() {
+ super();
+ setProtocolMessageLoggerCategory(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY + ".SAML");
+ }
+
+}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/BaseSAMLHttpServletResponseEncoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/BaseSAMLHttpServletResponseEncoder.java
new file mode 100644
index 000000000..bf7c4e7a3
--- /dev/null
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/common/binding/impl/BaseSAMLHttpServletResponseEncoder.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.opensaml.saml.common.binding.impl;
+
+import org.opensaml.messaging.encoder.servlet.BaseHttpServletResponseXMLMessageEncoder;
+
+/**
+ * Abstract base encoder for SAML encoders.
+ */
+public abstract class BaseSAMLHttpServletResponseEncoder extends BaseHttpServletResponseXMLMessageEncoder {
+
+ /** Constructor. */
+ public BaseSAMLHttpServletResponseEncoder() {
+ super();
+ setProtocolMessageLoggerCategory(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY + ".SAML");
+ }
+
+}
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPArtifactDecoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPArtifactDecoder.java
index 0eb52679e..aa5cb9c4e 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPArtifactDecoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPArtifactDecoder.java
@@ -19,10 +19,10 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.decoder.MessageDecodingException;
-import org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXMLMessageDecoder;
import org.opensaml.saml.common.binding.BindingDescriptor;
import org.opensaml.saml.common.binding.SAMLBindingSupport;
import org.opensaml.saml.common.binding.decoding.SAMLMessageDecoder;
+import org.opensaml.saml.common.binding.impl.BaseSAMLHttpServletRequestDecoder;
import org.opensaml.saml.common.messaging.context.SAMLBindingContext;
import org.opensaml.saml.common.xml.SAMLConstants;
import org.slf4j.Logger;
@@ -37,7 +37,7 @@ import net.shibboleth.shared.primitive.StringSupport;
*
* <strong>NOTE: This decoder is not yet implemented.</strong>
*/
-public class HTTPArtifactDecoder extends BaseHttpServletRequestXMLMessageDecoder
+public class HTTPArtifactDecoder extends BaseSAMLHttpServletRequestDecoder
implements SAMLMessageDecoder {
/** Class logger. */
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPPostDecoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPPostDecoder.java
index 38ed2effa..37fe25f0a 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPPostDecoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPPostDecoder.java
@@ -21,11 +21,11 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.decoder.MessageDecodingException;
-import org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXMLMessageDecoder;
import org.opensaml.saml.common.SAMLObject;
import org.opensaml.saml.common.binding.BindingDescriptor;
import org.opensaml.saml.common.binding.SAMLBindingSupport;
import org.opensaml.saml.common.binding.decoding.SAMLMessageDecoder;
+import org.opensaml.saml.common.binding.impl.BaseSAMLHttpServletRequestDecoder;
import org.opensaml.saml.common.messaging.context.SAMLBindingContext;
import org.opensaml.saml.common.xml.SAMLConstants;
import org.opensaml.saml.saml1.core.ResponseAbstractType;
@@ -40,7 +40,7 @@ import net.shibboleth.shared.primitive.LoggerFactory;
/**
* SAML 1.X HTTP POST message decoder.
*/
-public class HTTPPostDecoder extends BaseHttpServletRequestXMLMessageDecoder implements SAMLMessageDecoder {
+public class HTTPPostDecoder extends BaseSAMLHttpServletRequestDecoder implements SAMLMessageDecoder {
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(HTTPPostDecoder.class);
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPSOAP11Decoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPSOAP11Decoder.java
index ce7ce4a43..c4c709dfb 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPSOAP11Decoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HTTPSOAP11Decoder.java
@@ -44,6 +44,15 @@ public class HTTPSOAP11Decoder extends org.opensaml.soap.soap11.decoder.http.imp
/** Optional {@link BindingDescriptor} to inject into {@link SAMLBindingContext} created. */
@Nullable private BindingDescriptor bindingDescriptor;
+ /**
+ * Constructor.
+ *
+ */
+ public HTTPSOAP11Decoder() {
+ super();
+ setProtocolMessageLoggerCategory(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY + ".SAML");
+ }
+
/** {@inheritDoc} */
@Nonnull @NotEmpty public String getBindingURI() {
return SAMLConstants.SAML1_SOAP11_BINDING_URI;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HttpClientResponseSOAP11Decoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HttpClientResponseSOAP11Decoder.java
index e09cb5c92..7f0d8fb93 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HttpClientResponseSOAP11Decoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/decoding/impl/HttpClientResponseSOAP11Decoder.java
@@ -48,6 +48,7 @@ public class HttpClientResponseSOAP11Decoder
*/
public HttpClientResponseSOAP11Decoder() {
setBodyHandler(new SAMLSOAPDecoderBodyHandler());
+ setProtocolMessageLoggerCategory(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY + ".SAML");
}
/** {@inheritDoc} */
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/BaseSAML1MessageEncoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/BaseSAML1MessageEncoder.java
index d1877509e..d1a21a79f 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/BaseSAML1MessageEncoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/BaseSAML1MessageEncoder.java
@@ -20,15 +20,15 @@ import javax.annotation.Nonnull;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.encoder.MessageEncodingException;
-import org.opensaml.messaging.encoder.servlet.BaseHttpServletResponseXMLMessageEncoder;
import org.opensaml.saml.common.binding.BindingException;
import org.opensaml.saml.common.binding.SAMLBindingSupport;
import org.opensaml.saml.common.binding.encoding.SAMLMessageEncoder;
+import org.opensaml.saml.common.binding.impl.BaseSAMLHttpServletResponseEncoder;
/**
* Base class for SAML 1 message encoders.
*/
-public abstract class BaseSAML1MessageEncoder extends BaseHttpServletResponseXMLMessageEncoder
+public abstract class BaseSAML1MessageEncoder extends BaseSAMLHttpServletResponseEncoder
implements SAMLMessageEncoder {
/**
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPSOAP11Encoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPSOAP11Encoder.java
index 7a518e440..83755c97d 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPSOAP11Encoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/HTTPSOAP11Encoder.java
@@ -26,6 +26,14 @@ import org.opensaml.saml.common.xml.SAMLConstants;
public class HTTPSOAP11Encoder extends org.opensaml.soap.soap11.encoder.http.impl.HTTPSOAP11Encoder
implements SAMLMessageEncoder {
+
+
+ /** Constructor. */
+ public HTTPSOAP11Encoder() {
+ super();
+ setProtocolMessageLoggerCategory(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY + ".SAML");
+ }
+
/** {@inheritDoc} */
@Override
@Nullable protected String getSOAPAction() {
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/HttpClientRequestSOAP11Encoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/HttpClientRequestSOAP11Encoder.java
index 3c45d7500..e4cd88006 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/HttpClientRequestSOAP11Encoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml1/binding/encoding/impl/HttpClientRequestSOAP11Encoder.java
@@ -27,6 +27,12 @@ public class HttpClientRequestSOAP11Encoder
extends org.opensaml.soap.client.soap11.encoder.http.impl.HttpClientRequestSOAP11Encoder
implements SAMLMessageEncoder {
+ /** Constructor. */
+ public HttpClientRequestSOAP11Encoder() {
+ super();
+ setProtocolMessageLoggerCategory(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY + ".SAML");
+ }
+
/** {@inheritDoc} */
@Override
@Nullable protected String getSOAPAction() {
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPArtifactDecoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPArtifactDecoder.java
index ca970ed80..3bacf4702 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPArtifactDecoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPArtifactDecoder.java
@@ -25,13 +25,13 @@ import org.opensaml.messaging.MessageException;
import org.opensaml.messaging.context.InOutOperationContext;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.decoder.MessageDecodingException;
-import org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXMLMessageDecoder;
import org.opensaml.saml.common.SAMLObject;
import org.opensaml.saml.common.binding.BindingDescriptor;
import org.opensaml.saml.common.binding.EndpointResolver;
import org.opensaml.saml.common.binding.SAMLBindingSupport;
import org.opensaml.saml.common.binding.artifact.SAMLSourceLocationArtifact;
import org.opensaml.saml.common.binding.decoding.SAMLMessageDecoder;
+import org.opensaml.saml.common.binding.impl.BaseSAMLHttpServletRequestDecoder;
import org.opensaml.saml.common.binding.impl.DefaultEndpointResolver;
import org.opensaml.saml.common.messaging.context.SAMLBindingContext;
import org.opensaml.saml.common.messaging.soap.SAMLSOAPClientContextBuilder;
@@ -78,7 +78,7 @@ import net.shibboleth.shared.security.IdentifierGenerationStrategy.ProviderType;
/**
* SAML 2 Artifact Binding decoder, support both HTTP GET and POST.
*/
-public class HTTPArtifactDecoder extends BaseHttpServletRequestXMLMessageDecoder implements SAMLMessageDecoder {
+public class HTTPArtifactDecoder extends BaseSAMLHttpServletRequestDecoder implements SAMLMessageDecoder {
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(HTTPArtifactDecoder.class);
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPPostDecoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPPostDecoder.java
index 64041defc..f74d0668a 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPPostDecoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPPostDecoder.java
@@ -23,11 +23,11 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.decoder.MessageDecodingException;
-import org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXMLMessageDecoder;
import org.opensaml.saml.common.SAMLObject;
import org.opensaml.saml.common.binding.BindingDescriptor;
import org.opensaml.saml.common.binding.SAMLBindingSupport;
import org.opensaml.saml.common.binding.decoding.SAMLMessageDecoder;
+import org.opensaml.saml.common.binding.impl.BaseSAMLHttpServletRequestDecoder;
import org.opensaml.saml.common.messaging.context.SAMLBindingContext;
import org.opensaml.saml.common.xml.SAMLConstants;
import org.slf4j.Logger;
@@ -41,7 +41,7 @@ import net.shibboleth.shared.codec.DecodingException;
import net.shibboleth.shared.primitive.LoggerFactory;
/** Message decoder implementing the SAML 2.0 HTTP POST binding. */
-public class HTTPPostDecoder extends BaseHttpServletRequestXMLMessageDecoder implements SAMLMessageDecoder {
+public class HTTPPostDecoder extends BaseSAMLHttpServletRequestDecoder implements SAMLMessageDecoder {
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(HTTPPostDecoder.class);
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPRedirectDeflateDecoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPRedirectDeflateDecoder.java
index ae569d549..f41847b54 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPRedirectDeflateDecoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPRedirectDeflateDecoder.java
@@ -25,11 +25,11 @@ import javax.annotation.Nullable;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.decoder.MessageDecodingException;
-import org.opensaml.messaging.decoder.servlet.BaseHttpServletRequestXMLMessageDecoder;
import org.opensaml.saml.common.SAMLObject;
import org.opensaml.saml.common.binding.BindingDescriptor;
import org.opensaml.saml.common.binding.SAMLBindingSupport;
import org.opensaml.saml.common.binding.decoding.SAMLMessageDecoder;
+import org.opensaml.saml.common.binding.impl.BaseSAMLHttpServletRequestDecoder;
import org.opensaml.saml.common.messaging.context.SAMLBindingContext;
import org.opensaml.saml.common.xml.SAMLConstants;
import org.slf4j.Logger;
@@ -47,7 +47,7 @@ import net.shibboleth.shared.primitive.StringSupport;
*
* This decoder only supports DEFLATE compression.
*/
-public class HTTPRedirectDeflateDecoder extends BaseHttpServletRequestXMLMessageDecoder implements SAMLMessageDecoder {
+public class HTTPRedirectDeflateDecoder extends BaseSAMLHttpServletRequestDecoder implements SAMLMessageDecoder {
/** Class logger. */
@Nonnull private final Logger log = LoggerFactory.getLogger(HTTPRedirectDeflateDecoder.class);
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPSOAP11Decoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPSOAP11Decoder.java
index 3724d883b..1bee20cd5 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPSOAP11Decoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HTTPSOAP11Decoder.java
@@ -44,6 +44,12 @@ public class HTTPSOAP11Decoder extends org.opensaml.soap.soap11.decoder.http.imp
/** Optional {@link BindingDescriptor} to inject into {@link SAMLBindingContext} created. */
@Nullable private BindingDescriptor bindingDescriptor;
+ /** Constructor. */
+ public HTTPSOAP11Decoder() {
+ super();
+ setProtocolMessageLoggerCategory(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY + ".SAML");
+ }
+
/** {@inheritDoc} */
@Nonnull @NotEmpty public String getBindingURI() {
return SAMLConstants.SAML2_SOAP11_BINDING_URI;
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HttpClientResponseSOAP11Decoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HttpClientResponseSOAP11Decoder.java
index 7d2619682..7931d33fa 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HttpClientResponseSOAP11Decoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/decoding/impl/HttpClientResponseSOAP11Decoder.java
@@ -48,6 +48,7 @@ public class HttpClientResponseSOAP11Decoder
*/
public HttpClientResponseSOAP11Decoder() {
setBodyHandler(new SAMLSOAPDecoderBodyHandler());
+ setProtocolMessageLoggerCategory(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY + ".SAML");
}
/** {@inheritDoc} */
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/BaseSAML2MessageEncoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/BaseSAML2MessageEncoder.java
index d7ee9b452..04534a30c 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/BaseSAML2MessageEncoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/BaseSAML2MessageEncoder.java
@@ -20,15 +20,15 @@ import javax.annotation.Nonnull;
import org.opensaml.messaging.context.MessageContext;
import org.opensaml.messaging.encoder.MessageEncodingException;
-import org.opensaml.messaging.encoder.servlet.BaseHttpServletResponseXMLMessageEncoder;
import org.opensaml.saml.common.binding.BindingException;
import org.opensaml.saml.common.binding.SAMLBindingSupport;
import org.opensaml.saml.common.binding.encoding.SAMLMessageEncoder;
+import org.opensaml.saml.common.binding.impl.BaseSAMLHttpServletResponseEncoder;
/**
* Base class for SAML 2 message encoders.
*/
-public abstract class BaseSAML2MessageEncoder extends BaseHttpServletResponseXMLMessageEncoder
+public abstract class BaseSAML2MessageEncoder extends BaseSAMLHttpServletResponseEncoder
implements SAMLMessageEncoder {
/**
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPSOAP11Encoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPSOAP11Encoder.java
index 272f48d3b..5e83a5fd2 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPSOAP11Encoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/HTTPSOAP11Encoder.java
@@ -30,7 +30,8 @@ public class HTTPSOAP11Encoder extends org.opensaml.soap.soap11.encoder.http.imp
/** Constructor. */
public HTTPSOAP11Encoder() {
-
+ super();
+ setProtocolMessageLoggerCategory(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY + ".SAML");
}
/** {@inheritDoc} */
diff --git a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/HttpClientRequestSOAP11Encoder.java b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/HttpClientRequestSOAP11Encoder.java
index 99f447ee4..7ba79efc7 100644
--- a/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/HttpClientRequestSOAP11Encoder.java
+++ b/opensaml-saml-impl/src/main/java/org/opensaml/saml/saml2/binding/encoding/impl/HttpClientRequestSOAP11Encoder.java
@@ -29,6 +29,12 @@ public class HttpClientRequestSOAP11Encoder
extends org.opensaml.soap.client.soap11.encoder.http.impl.HttpClientRequestSOAP11Encoder
implements SAMLMessageEncoder {
+ /** Constructor. */
+ public HttpClientRequestSOAP11Encoder() {
+ super();
+ setProtocolMessageLoggerCategory(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY + ".SAML");
+ }
+
/** {@inheritDoc} */
@Nonnull @NotEmpty public String getBindingURI() {
return SAMLConstants.SAML2_SOAP11_BINDING_URI;
diff --git a/opensaml-saml-impl/src/test/resources/logback-test.xml b/opensaml-saml-impl/src/test/resources/logback-test.xml
index ce1720f5c..4bcd9ca4a 100644
--- a/opensaml-saml-impl/src/test/resources/logback-test.xml
+++ b/opensaml-saml-impl/src/test/resources/logback-test.xml
@@ -3,7 +3,7 @@
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <pattern>%-5level %logger{0} - %msg%n</pattern>
+ <pattern>%-5level %logger - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
@@ -83,6 +83,10 @@
<level value="INFO"/>
</logger>
+ <logger name="PROTOCOL_MESSAGE">
+ <level value="DEBUG"/>
+ </logger>
+
<root>
<appender-ref ref="STDOUT"/>
<level value="WARN"/>
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/decoder/http/impl/HttpClientResponseSOAP11Decoder.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/decoder/http/impl/HttpClientResponseSOAP11Decoder.java
index db7babfc5..1b33e7afc 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/decoder/http/impl/HttpClientResponseSOAP11Decoder.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/decoder/http/impl/HttpClientResponseSOAP11Decoder.java
@@ -66,6 +66,12 @@ public class HttpClientResponseSOAP11Decoder extends BaseHttpClientResponseXMLMe
/** Message handler to use in processing the message body. */
@NonnullAfterInit private MessageHandler bodyHandler;
+ /** Constructor. */
+ public HttpClientResponseSOAP11Decoder() {
+ super();
+ setProtocolMessageLoggerCategory(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY + ".SOAP");
+ }
+
/**
* Get the configured body handler MessageHandler.
*
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/encoder/http/impl/HttpClientRequestSOAP11Encoder.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/encoder/http/impl/HttpClientRequestSOAP11Encoder.java
index 907a2d6ee..45d013065 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/encoder/http/impl/HttpClientRequestSOAP11Encoder.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/client/soap11/encoder/http/impl/HttpClientRequestSOAP11Encoder.java
@@ -62,10 +62,12 @@ public class HttpClientRequestSOAP11Encoder extends BaseHttpClientRequestXMLMess
/** Constructor. */
public HttpClientRequestSOAP11Encoder() {
+ super();
final XMLObjectBuilderFactory builderFactory = XMLObjectProviderRegistrySupport.getBuilderFactory();
envBuilder = (SOAPObjectBuilder<Envelope>) builderFactory.<Envelope>ensureBuilder(
Envelope.DEFAULT_ELEMENT_NAME);
bodyBuilder = (SOAPObjectBuilder<Body>) builderFactory.<Body>ensureBuilder(Body.DEFAULT_ELEMENT_NAME);
+ setProtocolMessageLoggerCategory(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY + ".SOAP");
}
/** {@inheritDoc}
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/decoder/http/impl/HTTPSOAP11Decoder.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/decoder/http/impl/HTTPSOAP11Decoder.java
index f042ea376..485dcd1d4 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/decoder/http/impl/HTTPSOAP11Decoder.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/decoder/http/impl/HTTPSOAP11Decoder.java
@@ -67,7 +67,13 @@ public class HTTPSOAP11Decoder extends BaseHttpServletRequestXMLMessageDecoder {
/** Message handler to use in processing the message body. */
@NonnullAfterInit private MessageHandler bodyHandler;
-
+
+ /** Constructor. */
+ public HTTPSOAP11Decoder() {
+ super();
+ setProtocolMessageLoggerCategory(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY + ".SOAP");
+ }
+
/**
* Get the configured body handler MessageHandler.
*
diff --git a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/encoder/http/impl/HTTPSOAP11Encoder.java b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/encoder/http/impl/HTTPSOAP11Encoder.java
index f2c04cfa7..771376d22 100644
--- a/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/encoder/http/impl/HTTPSOAP11Encoder.java
+++ b/opensaml-soap-impl/src/main/java/org/opensaml/soap/soap11/encoder/http/impl/HTTPSOAP11Encoder.java
@@ -59,10 +59,12 @@ public class HTTPSOAP11Encoder extends BaseHttpServletResponseXMLMessageEncoder
/** Constructor. */
public HTTPSOAP11Encoder() {
+ super();
final XMLObjectBuilderFactory builderFactory = XMLObjectProviderRegistrySupport.getBuilderFactory();
envBuilder = (SOAPObjectBuilder<Envelope>) builderFactory.<Envelope>ensureBuilder(
Envelope.DEFAULT_ELEMENT_NAME);
bodyBuilder = (SOAPObjectBuilder<Body>) builderFactory.<Body>ensureBuilder(Body.DEFAULT_ELEMENT_NAME);
+ setProtocolMessageLoggerCategory(BASE_PROTOCOL_MESSAGE_LOGGER_CATEGORY + ".SOAP");
}
/** {@inheritDoc} */
diff --git a/opensaml-soap-impl/src/test/resources/logback-test.xml b/opensaml-soap-impl/src/test/resources/logback-test.xml
index d03dd068e..76ba0219f 100644
--- a/opensaml-soap-impl/src/test/resources/logback-test.xml
+++ b/opensaml-soap-impl/src/test/resources/logback-test.xml
@@ -3,7 +3,7 @@
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
- <pattern>%-5level %logger{0} - %msg%n</pattern>
+ <pattern>%-5level %logger - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
@@ -12,6 +12,10 @@
<level value="WARN"/>
</logger>
+ <logger name="PROTOCOL_MESSAGE">
+ <level value="DEBUG"/>
+ </logger>
+
<root>
<appender-ref ref="STDOUT"/>
<level value="WARN"/>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list