Set communication profile before decoding
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / idp / profile / saml2 / AttributeQueryProfileHandler.java
index 3a5a392..4773a23 100644 (file)
@@ -73,9 +73,11 @@ public class AttributeQueryProfileHandler extends AbstractSAML2ProfileHandler {
     public void processRequest(HTTPInTransport inTransport, HTTPOutTransport outTransport) throws ProfileException {
         Response samlResponse;
 
-        AttributeQueryContext requestContext = decodeRequest(inTransport, outTransport);
+        AttributeQueryContext requestContext = null;
 
         try {
+            requestContext = decodeRequest(inTransport, outTransport);
+            
             if (requestContext.getProfileConfiguration() == null) {
                 log.error("SAML 2 Attribute Query profile is not configured for relying party "
                         + requestContext.getInboundMessageIssuer());
@@ -139,6 +141,7 @@ public class AttributeQueryProfileHandler extends AbstractSAML2ProfileHandler {
         log.debug("Decoding message with decoder binding {}", getInboundBinding());
 
         AttributeQueryContext requestContext = new AttributeQueryContext();
+        requestContext.setCommunicationProfileId(getProfileId());
 
         MetadataProvider metadataProvider = getMetadataProvider();
         requestContext.setMetadataProvider(metadataProvider);
@@ -178,8 +181,6 @@ public class AttributeQueryProfileHandler extends AbstractSAML2ProfileHandler {
         } finally {
             // Set as much information as can be retrieved from the decoded message
             populateRequestContext(requestContext);
-            populateSAMLMessageInformation(requestContext);
-            populateProfileInformation(requestContext);
         }
     }