From: cantor Date: Wed, 14 Feb 2007 00:30:56 +0000 (+0000) Subject: Set policy role based on peer entity. X-Git-Tag: 2.4.1~431 X-Git-Url: http://www.project-moonshot.org/gitweb/?a=commitdiff_plain;h=72233004f5a0cb02140fb2fdbb31cdb15bde9459;hp=c6ccc10082dcabc417ff075edc6e88b202b2e6ca;p=shibboleth%2Fopensaml2.git Set policy role based on peer entity. git-svn-id: https://svn.middleware.georgetown.edu/cpp-opensaml2/trunk@183 fb386ef7-a10c-0410-8ebf-fd3f8e989ab0 --- diff --git a/saml/binding/impl/SOAPClient.cpp b/saml/binding/impl/SOAPClient.cpp index be471ee..84fa0ee 100644 --- a/saml/binding/impl/SOAPClient.cpp +++ b/saml/binding/impl/SOAPClient.cpp @@ -43,6 +43,13 @@ void SOAPClient::send(const soap11::Envelope& env, const KeyInfoSource& peer, co m_policy.reset(); m_peer = dynamic_cast(&peer); + if (m_peer) { + const QName& role = m_peer->getElementQName(); + if (XMLString::equals(role.getLocalPart(),RoleDescriptor::LOCAL_NAME)) + m_policy.setRole(m_peer->getSchemaType()); + else + m_policy.setRole(&role); + } soap11::SOAPClient::send(env, peer, endpoint); }