X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=adfs%2Fadfs.cpp;h=a31006afa8e3ea17c9be8de582bc9f368bee713e;hb=605cb3cf0ef675358e3996254a062e43c8c227f5;hp=aed0b32ce73a1b0111120fdf2b85a1328959bf48;hpb=0d980d23b63369f144cf377696204c02babbd16f;p=shibboleth%2Fsp.git diff --git a/adfs/adfs.cpp b/adfs/adfs.cpp index aed0b32..a31006a 100644 --- a/adfs/adfs.cpp +++ b/adfs/adfs.cpp @@ -442,14 +442,18 @@ pair ADFSSessionInitiator::doRequest( } else if (!entity.second) { m_log.warn("unable to locate ADFS-aware identity provider role for provider (%s)", entityID); - return make_pair(false,0L); + if (getParent()) + return make_pair(false,0L); + throw MetadataException("Unable to locate ADFS-aware identity provider role for provider ($entityID)", namedparams(1, "entityID", entityID)); } const EndpointType* ep = EndpointManager( dynamic_cast(entity.second)->getSingleSignOnServices() ).getByBinding(m_binding.get()); if (!ep) { 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)); } preserveRelayState(app, httpResponse, relayState);