[java-shib-attribute] 02/04: JSATTR-6: SAML AttributeQuery DataConnector

Codeberg noreply at shibboleth.net
Fri Jan 16 17:07:54 UTC 2026


This is an automated email from the git hooks/post-receive script.

codeberg pushed a commit to branch main
in repository java-shib-attribute.

View the commit online:
https://codeberg.org/Shibboleth/java-shib-attribute/commit/062846d82f43fcdf59729b68e8ea5cce3978f8f3

commit 062846d82f43fcdf59729b68e8ea5cce3978f8f3
Author: Brent Putman <putmanb at georgetown.edu>
AuthorDate: Fri Jan 16 11:50:40 2026 -0500

    JSATTR-6: SAML AttributeQuery DataConnector
    
    Add some trace logging of the SOAP client context tree structure.
---
 .../dc/saml/impl/ExecutableQueryBuilder.java       | 24 ++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/saml/impl/ExecutableQueryBuilder.java b/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/saml/impl/ExecutableQueryBuilder.java
index b702bd865..803d90689 100644
--- a/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/saml/impl/ExecutableQueryBuilder.java
+++ b/shib-attribute-resolver-impl/src/main/java/net/shibboleth/idp/attribute/resolver/dc/saml/impl/ExecutableQueryBuilder.java
@@ -34,6 +34,8 @@ import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.saml.common.SAMLException;
 import org.opensaml.saml.common.SAMLObject;
 import org.opensaml.saml.common.binding.EndpointResolver;
+import org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext;
+import org.opensaml.saml.common.messaging.context.SAMLSelfEntityContext;
 import org.opensaml.saml.common.messaging.soap.SAMLSOAPClientContextBuilder;
 import org.opensaml.saml.common.xml.SAMLConstants;
 import org.opensaml.saml.criterion.EndpointCriterion;
@@ -698,6 +700,8 @@ public class ExecutableQueryBuilder extends AbstractInitializableComponent
            
            log.trace("Executing AttributeQuery over SOAP 1.1 binding to endpoint: {}", authorityEndpoint);
            soapClient.send(authorityEndpoint, opContext); 
+           
+           logContextData(opContext);
 
            final MessageContext inboundContext = opContext.getInboundMessageContext();
            final Object message = inboundContext != null ? inboundContext.getMessage() : null;
@@ -710,6 +714,26 @@ public class ExecutableQueryBuilder extends AbstractInitializableComponent
                    + (message != null ? message.getClass().getName() : "(null)"));
        }
 
+       /**
+        * Log SOAP client context data.
+        * 
+        * @param opContext the SOAP client context
+        */
+       private void logContextData(@Nonnull final InOutOperationContext opContext) {
+           if (log.isTraceEnabled()) {
+               log.trace("SOAP client context data: Root");
+               opContext.forEach(c -> log.trace("\tHas subcontext: {}", c.getClass().getName()));
+
+               log.trace("SOAP client context data: Message OUTBOUND");
+               final MessageContext outbound = opContext.ensureOutboundMessageContext();
+               outbound.forEach(c -> log.trace("\tHas subcontext: {}", c.getClass().getName()));
+
+               log.trace("SOAP client context data: Message INBOUND");
+               final MessageContext inbound = opContext.ensureInboundMessageContext();
+               inbound.forEach(c -> log.trace("\tHas subcontext: {}", c.getClass().getName()));
+           }
+       }
+
        /**
         * Validate the response.
         * 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list