Support path resolution in binding templates.
authorScott Cantor <cantor.2@osu.edu>
Wed, 30 Jan 2008 17:32:12 +0000 (17:32 +0000)
committerScott Cantor <cantor.2@osu.edu>
Wed, 30 Jan 2008 17:32:12 +0000 (17:32 +0000)
saml/saml1/binding/impl/SAML1POSTEncoder.cpp
saml/saml2/binding/impl/SAML2ArtifactEncoder.cpp
saml/saml2/binding/impl/SAML2POSTEncoder.cpp

index f7c8ecd..2b0107b 100644 (file)
@@ -31,6 +31,7 @@
 #include <xercesc/util/Base64.hpp>
 #include <xmltooling/logging.h>
 #include <xmltooling/util/NDC.h>
 #include <xercesc/util/Base64.hpp>
 #include <xmltooling/logging.h>
 #include <xmltooling/util/NDC.h>
+#include <xmltooling/util/PathResolver.h>
 #include <xmltooling/util/TemplateEngine.h>
 
 using namespace opensaml::saml1p;
 #include <xmltooling/util/TemplateEngine.h>
 
 using namespace opensaml::saml1p;
@@ -84,6 +85,7 @@ SAML1POSTEncoder::SAML1POSTEncoder(const DOMElement* e, const XMLCh* ns)
     }
     if (m_template.empty())
         throw XMLToolingException("SAML1POSTEncoder requires template XML attribute.");
     }
     if (m_template.empty())
         throw XMLToolingException("SAML1POSTEncoder requires template XML attribute.");
+    XMLToolingConfig::getConfig().getPathResolver()->resolve(m_template, PathResolver::XMLTOOLING_CFG_FILE);
 }
 
 long SAML1POSTEncoder::encode(
 }
 
 long SAML1POSTEncoder::encode(
index f0f590c..a4dd248 100644 (file)
@@ -33,6 +33,7 @@
 #include <xmltooling/logging.h>
 #include <xmltooling/io/HTTPResponse.h>
 #include <xmltooling/util/NDC.h>
 #include <xmltooling/logging.h>
 #include <xmltooling/io/HTTPResponse.h>
 #include <xmltooling/util/NDC.h>
+#include <xmltooling/util/PathResolver.h>
 #include <xmltooling/util/TemplateEngine.h>
 #include <xmltooling/util/URLEncoder.h>
 
 #include <xmltooling/util/TemplateEngine.h>
 #include <xmltooling/util/URLEncoder.h>
 
@@ -86,8 +87,10 @@ SAML2ArtifactEncoder::SAML2ArtifactEncoder(const DOMElement* e, const XMLCh* ns)
         m_post = (flag && (*flag==chLatin_t || *flag==chDigit_1));
         if (m_post) {
             auto_ptr_char t(e->getAttributeNS(ns, _template));
         m_post = (flag && (*flag==chLatin_t || *flag==chDigit_1));
         if (m_post) {
             auto_ptr_char t(e->getAttributeNS(ns, _template));
-            if (t.get() && *t.get())
+            if (t.get() && *t.get()) {
                 m_template = t.get();
                 m_template = t.get();
+                XMLToolingConfig::getConfig().getPathResolver()->resolve(m_template, PathResolver::XMLTOOLING_CFG_FILE);
+            }
         }
     }
 }
         }
     }
 }
index 3b303fc..8f122e0 100644 (file)
@@ -31,6 +31,7 @@
 #include <xercesc/util/Base64.hpp>
 #include <xmltooling/logging.h>
 #include <xmltooling/util/NDC.h>
 #include <xercesc/util/Base64.hpp>
 #include <xmltooling/logging.h>
 #include <xmltooling/util/NDC.h>
+#include <xmltooling/util/PathResolver.h>
 #include <xmltooling/util/TemplateEngine.h>
 
 using namespace opensaml::saml2p;
 #include <xmltooling/util/TemplateEngine.h>
 
 using namespace opensaml::saml2p;
@@ -89,6 +90,7 @@ SAML2POSTEncoder::SAML2POSTEncoder(const DOMElement* e, const XMLCh* ns, bool si
     }
     if (m_template.empty())
         throw XMLToolingException("SAML2POSTEncoder requires template XML attribute.");
     }
     if (m_template.empty())
         throw XMLToolingException("SAML2POSTEncoder requires template XML attribute.");
+    XMLToolingConfig::getConfig().getPathResolver()->resolve(m_template, PathResolver::XMLTOOLING_CFG_FILE);
 }
 
 long SAML2POSTEncoder::encode(
 }
 
 long SAML2POSTEncoder::encode(