-->
<md:ArtifactResolutionService Location="/SOAP/Artifact" index="1"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"/>
-
- <!--
- md:SingleLogoutService elements are mostly a placeholder for 2.0, but a simple
- cookie-clearing option with a ResponseLocation or a return URL parameter is
- supported via the "urn:mace:shibboleth:sp:1.3:Logout" Binding value.
- -->
- <md:SingleLogoutService Location="/Logout" Binding="urn:mace:shibboleth:sp:1.3:Logout"/>
</Sessions>
* @param xmlObject XMLObject to decode
* @param assertingParty name of the party asserting the attribute
* @param relyingParty name of the party relying on the attribute
- * @return a resolved Attribute
+ * @return a resolved Attribute, or NULL
*/
virtual Attribute* decode(
const char* id, const xmltooling::XMLObject* xmlObject, const char* assertingParty=NULL, const char* relyingParty=NULL
auto_ptr_char temp(format);
if ((rule=m_attrMap.find(make_pair(temp.get(),string()))) != m_attrMap.end()) {
#endif
- attributes.insert(
- make_pair(
- rule->second.second,
- rule->second.first->decode(rule->second.second.c_str(), &nameid, assertingParty, application.getString("entityID").second)
- )
- );
+ Attribute* a = rule->second.first->decode(rule->second.second.c_str(), &nameid, assertingParty, application.getString("entityID").second);
+ if (a)
+ attributes.insert(make_pair(rule->second.second, a));
}
}
auto_ptr_char temp(format);
if ((rule=m_attrMap.find(make_pair(temp.get(),string()))) != m_attrMap.end()) {
#endif
- attributes.insert(
- make_pair(
- rule->second.second,
- rule->second.first->decode(rule->second.second.c_str(), &nameid, assertingParty, application.getString("entityID").second)
- )
- );
+ Attribute* a = rule->second.first->decode(rule->second.second.c_str(), &nameid, assertingParty, application.getString("entityID").second);
+ if (a)
+ attributes.insert(make_pair(rule->second.second, a));
}
}
auto_ptr_char temp2(format);
if ((rule=m_attrMap.find(make_pair(temp1.get(),temp2.get()))) != m_attrMap.end()) {
#endif
- attributes.insert(
- make_pair(
- rule->second.second,
- rule->second.first->decode(rule->second.second.c_str(), &attr, assertingParty, application.getString("entityID").second)
- )
- );
+ Attribute* a = rule->second.first->decode(rule->second.second.c_str(), &attr, assertingParty, application.getString("entityID").second);
+ if (a)
+ attributes.insert(make_pair(rule->second.second, a));
}
}
auto_ptr_char temp2(format);
if ((rule=m_attrMap.find(make_pair(temp1.get(),temp2.get()))) != m_attrMap.end()) {
#endif
- attributes.insert(
- make_pair(
- rule->second.second,
- rule->second.first->decode(rule->second.second.c_str(), &attr, assertingParty, application.getString("entityID").second)
- )
- );
+ Attribute* a = rule->second.first->decode(rule->second.second.c_str(), &attr, assertingParty, application.getString("entityID").second);
+ if (a)
+ attributes.insert(make_pair(rule->second.second, a));
}
}