A "simple" attribute resolver, and token validation.
[shibboleth/sp.git] / util / samlquery.cpp
index d1af42c..13ccf86 100644 (file)
@@ -97,14 +97,14 @@ int main(int argc,char* argv[])
     if (!a_param)\r
         a_param="default";\r
 \r
+    XMLToolingConfig::getConfig().log_config(getenv("SHIBSP_LOGGING") ? getenv("SHIBSP_LOGGING") : SHIBSP_LOGGING);\r
+\r
     SPConfig& conf=SPConfig::getConfig();\r
     conf.setFeatures(\r
         SPConfig::Metadata |\r
         SPConfig::Trust |\r
         SPConfig::Credentials |\r
-        SPConfig::AttributeResolver |\r
-        SPConfig::OutOfProcess |\r
-        SPConfig::Caching\r
+        SPConfig::OutOfProcess\r
         );\r
     if (!conf.init(path))\r
         return -10;\r
@@ -171,22 +171,22 @@ int main(int argc,char* argv[])
                         continue;\r
                     auto_ptr_char loc((*ep)->getLocation());\r
                     NameID* nameid = NameIDBuilder::buildNameID();\r
-                    Issuer* iss = IssuerBuilder::buildIssuer();\r
                     opensaml::saml2::Subject* subject = opensaml::saml2::SubjectBuilder::buildSubject();\r
+                    subject->setNameID(nameid);\r
                     opensaml::saml2p::AttributeQuery* query = opensaml::saml2p::AttributeQueryBuilder::buildAttributeQuery();\r
+                    query->setSubject(subject);\r
+                    Issuer* iss = IssuerBuilder::buildIssuer();\r
+                    query->setIssuer(iss);\r
                     nameid->setName(name.get());\r
                     nameid->setFormat(format.get() ? format.get() : NameID::TRANSIENT);\r
                     nameid->setNameQualifier(domain.get());\r
                     iss->setName(issuer.get());\r
-                    subject->setNameID(nameid);\r
-                    query->setSubject(subject);\r
-                    query->setIssuer(iss);\r
                     SAML2SOAPClient client(soaper);\r
                     client.sendSAML(query, *AA, loc.get());\r
                     srt = client.receiveSAML();\r
                 }\r
                 catch (exception& ex) {\r
-                    cerr << ex.what() << endl;\r
+                    cerr << "Caught exception: " << ex.what() << endl << endl;\r
                     soaper.reset();\r
                 }\r
             }\r
@@ -214,13 +214,14 @@ int main(int argc,char* argv[])
                     auto_ptr_char loc((*ep)->getLocation());\r
                     NameIdentifier* nameid = NameIdentifierBuilder::buildNameIdentifier();\r
                     opensaml::saml1::Subject* subject = opensaml::saml1::SubjectBuilder::buildSubject();\r
+                    subject->setNameIdentifier(nameid);\r
                     opensaml::saml1p::AttributeQuery* query = opensaml::saml1p::AttributeQueryBuilder::buildAttributeQuery();\r
+                    query->setSubject(subject);\r
                     Request* request = RequestBuilder::buildRequest();\r
+                    request->setAttributeQuery(query);\r
                     nameid->setName(name.get());\r
                     nameid->setFormat(format.get() ? format.get() : shibspconstants::SHIB1_NAMEID_FORMAT_URI);\r
                     nameid->setNameQualifier(domain.get());\r
-                    subject->setNameIdentifier(nameid);\r
-                    query->setSubject(subject);\r
                     query->setResource(issuer.get());\r
                     request->setMinorVersion(ver==v11 ? 1 : 0);\r
                     SAML1SOAPClient client(soaper);\r
@@ -228,7 +229,7 @@ int main(int argc,char* argv[])
                     response = client.receiveSAML();\r
                 }\r
                 catch (exception& ex) {\r
-                    cerr << ex.what() << endl;\r
+                    cerr << "Caught exception: " << ex.what() << endl << endl;\r
                     soaper.reset();\r
                 }\r
             }\r