projects
/
shibboleth
/
cpp-opensaml.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fe9e5f9
)
Add "sender" to SOAP APIs to avoid reuse of connections across apps.
author
Scott Cantor
<cantor.2@osu.edu>
Thu, 16 Aug 2007 03:20:00 +0000
(
03:20
+0000)
committer
Scott Cantor
<cantor.2@osu.edu>
Thu, 16 Aug 2007 03:20:00 +0000
(
03:20
+0000)
saml/binding/SOAPClient.h
patch
|
blob
|
history
saml/binding/impl/SOAPClient.cpp
patch
|
blob
|
history
saml/saml1/binding/SAML1SOAPClient.h
patch
|
blob
|
history
saml/saml1/binding/impl/SAML1SOAPClient.cpp
patch
|
blob
|
history
saml/saml2/binding/SAML2SOAPClient.h
patch
|
blob
|
history
saml/saml2/binding/impl/SAML2SOAPClient.cpp
patch
|
blob
|
history
diff --git
a/saml/binding/SOAPClient.h
b/saml/binding/SOAPClient.h
index
52a7845
..
8fd00e1
100644
(file)
--- a/
saml/binding/SOAPClient.h
+++ b/
saml/binding/SOAPClient.h
@@
-61,15
+61,16
@@
namespace opensaml {
using soap11::SOAPClient::send;
/**
using soap11::SOAPClient::send;
/**
- * SAML-specific method uses
a RoleDescriptor
to determine the peer name and prepare the
+ * SAML-specific method uses
metadata
to determine the peer name and prepare the
* transport layer with peer credential information. The SecurityPolicy is also reset,
* in case the policy is reused.
*
* @param env SOAP envelope to send
* transport layer with peer credential information. The SecurityPolicy is also reset,
* in case the policy is reused.
*
* @param env SOAP envelope to send
- * @param peer peer to send message to, expressed in metadata criteria terms
+ * @param from identity of sending application
+ * @param to peer to send message to, expressed in metadata criteria terms
* @param endpoint URL of endpoint to recieve message
*/
* @param endpoint URL of endpoint to recieve message
*/
- virtual void send(const soap11::Envelope& env,
saml2md::MetadataCredentialCriteria& peer
, const char* endpoint);
+ virtual void send(const soap11::Envelope& env,
const char* from, saml2md::MetadataCredentialCriteria& to
, const char* endpoint);
/**
* Override applies SecurityPolicy to envelope before returning it.
/**
* Override applies SecurityPolicy to envelope before returning it.
diff --git
a/saml/binding/impl/SOAPClient.cpp
b/saml/binding/impl/SOAPClient.cpp
index
feff377
..
73081ec
100644
(file)
--- a/
saml/binding/impl/SOAPClient.cpp
+++ b/
saml/binding/impl/SOAPClient.cpp
@@
-37,13
+37,13
@@
using namespace opensaml;
using namespace xmltooling;
using namespace std;
using namespace xmltooling;
using namespace std;
-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)
{
// Clear policy.
m_policy.reset();
{
// Clear policy.
m_policy.reset();
- m_criteria = &
peer
;
- m_peer = &(
peer
.getRole());
+ m_criteria = &
to
;
+ m_peer = &(
to
.getRole());
const QName& role = m_peer->getElementQName();
if (XMLString::equals(role.getLocalPart(),RoleDescriptor::LOCAL_NAME))
const QName& role = m_peer->getElementQName();
if (XMLString::equals(role.getLocalPart(),RoleDescriptor::LOCAL_NAME))
@@
-52,7
+52,7
@@
void SOAPClient::send(const soap11::Envelope& env, MetadataCredentialCriteria& p
m_policy.setRole(&role);
auto_ptr_char pn(dynamic_cast<const EntityDescriptor*>(m_peer->getParent())->getEntityID());
m_policy.setRole(&role);
auto_ptr_char pn(dynamic_cast<const EntityDescriptor*>(m_peer->getParent())->getEntityID());
- soap11::SOAPClient::send(env,
pn.get(), endpoint
);
+ soap11::SOAPClient::send(env,
SOAPTransport::Address(from, pn.get(), endpoint)
);
}
void SOAPClient::prepareTransport(xmltooling::SOAPTransport& transport)
}
void SOAPClient::prepareTransport(xmltooling::SOAPTransport& transport)
diff --git
a/saml/saml1/binding/SAML1SOAPClient.h
b/saml/saml1/binding/SAML1SOAPClient.h
index
832603d
..
c039649
100644
(file)
--- a/
saml/saml1/binding/SAML1SOAPClient.h
+++ b/
saml/saml1/binding/SAML1SOAPClient.h
@@
-59,10
+59,11
@@
namespace opensaml {
* <p>The request will be freed by the client object regardless of the outcome.
*
* @param request SAML request to send
* <p>The request will be freed by the client object regardless of the outcome.
*
* @param request SAML request to send
- * @param peer peer to send message to, expressed in metadata criteria terms
+ * @param from identity of sending application
+ * @param to peer to send message to, expressed in metadata criteria terms
* @param endpoint URL of endpoint to recieve message
*/
* @param endpoint URL of endpoint to recieve message
*/
- virtual void sendSAML(Request* request,
saml2md::MetadataCredentialCriteria& peer
, const char* endpoint);
+ virtual void sendSAML(Request* request,
const char* from, saml2md::MetadataCredentialCriteria& to
, const char* endpoint);
/**
* Specialized method for receiving SAML 1.x responses. The SOAP layer will be
/**
* Specialized method for receiving SAML 1.x responses. The SOAP layer will be
diff --git
a/saml/saml1/binding/impl/SAML1SOAPClient.cpp
b/saml/saml1/binding/impl/SAML1SOAPClient.cpp
index
9984d2b
..
9a6527b
100644
(file)
--- a/
saml/saml1/binding/impl/SAML1SOAPClient.cpp
+++ b/
saml/saml1/binding/impl/SAML1SOAPClient.cpp
@@
-37,13
+37,13
@@
using namespace xmltooling::logging;
using namespace xmltooling;
using namespace std;
using namespace xmltooling;
using namespace std;
-void SAML1SOAPClient::sendSAML(Request* request,
MetadataCredentialCriteria& peer
, const char* endpoint)
+void SAML1SOAPClient::sendSAML(Request* request,
const char* from, MetadataCredentialCriteria& to
, const char* endpoint)
{
auto_ptr<Envelope> env(EnvelopeBuilder::buildEnvelope());
Body* body = BodyBuilder::buildBody();
env->setBody(body);
body->getUnknownXMLObjects().push_back(request);
{
auto_ptr<Envelope> env(EnvelopeBuilder::buildEnvelope());
Body* body = BodyBuilder::buildBody();
env->setBody(body);
body->getUnknownXMLObjects().push_back(request);
- m_soaper.send(*env.get(),
peer
, endpoint);
+ m_soaper.send(*env.get(),
from, to
, endpoint);
m_correlate = XMLString::replicate(request->getRequestID());
}
m_correlate = XMLString::replicate(request->getRequestID());
}
diff --git
a/saml/saml2/binding/SAML2SOAPClient.h
b/saml/saml2/binding/SAML2SOAPClient.h
index
4981c2e
..
c5d35cc
100644
(file)
--- a/
saml/saml2/binding/SAML2SOAPClient.h
+++ b/
saml/saml2/binding/SAML2SOAPClient.h
@@
-59,10
+59,11
@@
namespace opensaml {
* <p>The request will be freed by the client object regardless of the outcome.
*
* @param request SAML request to send
* <p>The request will be freed by the client object regardless of the outcome.
*
* @param request SAML request to send
- * @param peer peer to send message to, expressed in metadata criteria terms
+ * @param to peer to send message to, expressed in metadata criteria terms
+ * @param from identity of sending application
* @param endpoint URL of endpoint to recieve message
*/
* @param endpoint URL of endpoint to recieve message
*/
- virtual void sendSAML(RequestAbstractType* request,
saml2md::MetadataCredentialCriteria& peer
, const char* endpoint);
+ virtual void sendSAML(RequestAbstractType* request,
const char* from, saml2md::MetadataCredentialCriteria& to
, const char* endpoint);
/**
* Specialized method for receiving SAML 2.0 responses. The SOAP layer will be
/**
* Specialized method for receiving SAML 2.0 responses. The SOAP layer will be
diff --git
a/saml/saml2/binding/impl/SAML2SOAPClient.cpp
b/saml/saml2/binding/impl/SAML2SOAPClient.cpp
index
08cba6d
..
626b607
100644
(file)
--- a/
saml/saml2/binding/impl/SAML2SOAPClient.cpp
+++ b/
saml/saml2/binding/impl/SAML2SOAPClient.cpp
@@
-37,13
+37,13
@@
using namespace xmltooling::logging;
using namespace xmltooling;
using namespace std;
using namespace xmltooling;
using namespace std;
-void SAML2SOAPClient::sendSAML(RequestAbstractType* request,
MetadataCredentialCriteria& peer
, const char* endpoint)
+void SAML2SOAPClient::sendSAML(RequestAbstractType* request,
const char* from, MetadataCredentialCriteria& to
, const char* endpoint)
{
auto_ptr<Envelope> env(EnvelopeBuilder::buildEnvelope());
Body* body = BodyBuilder::buildBody();
env->setBody(body);
body->getUnknownXMLObjects().push_back(request);
{
auto_ptr<Envelope> env(EnvelopeBuilder::buildEnvelope());
Body* body = BodyBuilder::buildBody();
env->setBody(body);
body->getUnknownXMLObjects().push_back(request);
- m_soaper.send(*env.get(),
peer
, endpoint);
+ m_soaper.send(*env.get(),
from, to
, endpoint);
m_correlate = XMLString::replicate(request->getID());
}
m_correlate = XMLString::replicate(request->getID());
}