Set communication profile before decoding
[java-idp.git] / src / edu / internet2 / middleware / shibboleth / idp / profile / saml1 / AttributeQueryProfileHandler.java
index 177de75..498ba61 100644 (file)
@@ -74,10 +74,11 @@ public class AttributeQueryProfileHandler extends AbstractSAML1ProfileHandler {
 
     /** {@inheritDoc} */
     public void processRequest(HTTPInTransport inTransport, HTTPOutTransport outTransport) throws ProfileException {
-        AttributeQueryContext requestContext = decodeRequest(inTransport, outTransport);
-
+        AttributeQueryContext requestContext = null;
         Response samlResponse;
         try {
+            requestContext = decodeRequest(inTransport, outTransport);
+            
             if (requestContext.getProfileConfiguration() == null) {
                 log.error("SAML 1 Attribute Query profile is not configured for relying party "
                         + requestContext.getInboundMessageIssuer());
@@ -135,6 +136,7 @@ public class AttributeQueryProfileHandler extends AbstractSAML1ProfileHandler {
         log.debug("Decoding message with decoder binding {}", getInboundBinding());
 
         AttributeQueryContext requestContext = new AttributeQueryContext();
+        requestContext.setCommunicationProfileId(getProfileId());
 
         MetadataProvider metadataProvider = getMetadataProvider();
         requestContext.setMetadataProvider(metadataProvider);
@@ -177,8 +179,6 @@ public class AttributeQueryProfileHandler extends AbstractSAML1ProfileHandler {
         } finally {
             // Set as much information as can be retrieved from the decoded message
             populateRequestContext(requestContext);
-            populateSAMLMessageInformation(requestContext);
-            populateProfileInformation(requestContext);
         }
     }