setValidating(validate.first && validate.second);
}
-void SOAPClient::send(const soap11::Envelope& env, MetadataCredentialCriteria& peer, const char* endpoint)
+void SOAPClient::send(const soap11::Envelope& env, const char* from, MetadataCredentialCriteria& to, const char* endpoint)
{
// Check for message signing requirements.
- m_relyingParty = m_app.getRelyingParty(dynamic_cast<const EntityDescriptor*>(peer.getRole().getParent()));
- pair<bool,const char*> flag = m_relyingParty->getString("signRequests");
+ m_relyingParty = m_app.getRelyingParty(dynamic_cast<const EntityDescriptor*>(to.getRole().getParent()));
+ pair<bool,const char*> flag = m_relyingParty->getString("signing");
if (flag.first && (!strcmp(flag.second, "true") || !strcmp(flag.second, "back"))) {
m_credResolver=m_app.getCredentialResolver();
if (m_credResolver) {
m_credResolver->lock();
// Fill in criteria to use.
- peer.setUsage(CredentialCriteria::SIGNING_CREDENTIAL);
+ to.setUsage(Credential::SIGNING_CREDENTIAL);
pair<bool,const char*> keyName = m_relyingParty->getString("keyName");
if (keyName.first)
- peer.getKeyNames().insert(keyName.second);
- pair<bool,const XMLCh*> sigalg = m_relyingParty->getXMLString("signatureAlg");
+ to.getKeyNames().insert(keyName.second);
+ pair<bool,const XMLCh*> sigalg = m_relyingParty->getXMLString("signingAlg");
if (sigalg.first)
- peer.setXMLAlgorithm(sigalg.second);
- const Credential* cred = m_credResolver->resolve(&peer);
+ to.setXMLAlgorithm(sigalg.second);
+ const Credential* cred = m_credResolver->resolve(&to);
// Reset criteria back.
- peer.setKeyAlgorithm(NULL);
- peer.setKeySize(0);
+ to.setKeyAlgorithm(NULL);
+ to.setKeySize(0);
if (cred) {
// Check for message.
}
}
- opensaml::SOAPClient::send(env, peer, endpoint);
+ opensaml::SOAPClient::send(env, from, to, endpoint);
}
void SOAPClient::prepareTransport(SOAPTransport& transport)
m_credResolver->lock();
}
if (m_credResolver) {
- m_criteria->setUsage(CredentialCriteria::TLS_CREDENTIAL);
+ m_criteria->setUsage(Credential::TLS_CREDENTIAL);
authType = m_relyingParty->getString("keyName");
if (authType.first)
m_criteria->getKeyNames().insert(authType.second);
transport.setConnectTimeout(m_settings->getUnsignedInt("connectTimeout").second);
transport.setTimeout(m_settings->getUnsignedInt("timeout").second);
+ m_app.getServiceProvider().setTransportOptions(m_app.getString("policyId").second, transport);
HTTPSOAPTransport* http = dynamic_cast<HTTPSOAPTransport*>(&transport);
if (http) {
flag = m_settings->getBool("chunkedEncoding");
http->useChunkedEncoding(!flag.first || flag.second);
- http->setRequestHeader("Shibboleth", PACKAGE_VERSION);
+ http->setRequestHeader("User-Agent", PACKAGE_NAME);
+ http->setRequestHeader(PACKAGE_NAME, PACKAGE_VERSION);
}
}