if (!issuer || !dynamic_cast<const IDPSSODescriptor*>(issuer)) {
log.error("unable to find compatible SAML role (%s) in metadata", role->toString().c_str());
for_each(artifacts.begin(), artifacts.end(), xmltooling::cleanup<SAMLArtifact>());
if (!issuer || !dynamic_cast<const IDPSSODescriptor*>(issuer)) {
log.error("unable to find compatible SAML role (%s) in metadata", role->toString().c_str());
for_each(artifacts.begin(), artifacts.end(), xmltooling::cleanup<SAMLArtifact>());