}
else if (!entity.second) {
m_log.warn("unable to locate SAML 2.0 identity provider role for provider (%s)", entityID);
- return make_pair(false,0L);
+ if (getParent())
+ return make_pair(false,0L);
+ throw MetadataException("Unable to locate SAML 2.0 identity provider role for provider ($entityID)", namedparams(1, "entityID", entityID));
}
// Loop over the supportable outgoing bindings.
}
if (!ep || !encoder) {
m_log.warn("unable to locate compatible SSO service for provider (%s)", entityID);
- return make_pair(false,0L);
+ if (getParent())
+ return make_pair(false,0L);
+ throw MetadataException("Unable to locate compatible SSO service for provider ($entityID)", namedparams(1, "entityID", entityID));
}
}
if (!req->getIssuer()) {
Issuer* issuer = IssuerBuilder::buildIssuer();
req->setIssuer(issuer);
- issuer->setName(app.getXMLString("entityID").second);
+ issuer->setName(app.getRelyingParty(entity.first)->getXMLString("entityID").second);
}
if (!req->getNameIDPolicy()) {
NameIDPolicy* namepol = NameIDPolicyBuilder::buildNameIDPolicy();