projects
/
shibboleth
/
opensaml2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add linefeeds to log, add logging of additional inbound messages.
[shibboleth/opensaml2.git]
/
saml
/
saml2
/
binding
/
impl
/
SAML2SOAPDecoder.cpp
diff --git
a/saml/saml2/binding/impl/SAML2SOAPDecoder.cpp
b/saml/saml2/binding/impl/SAML2SOAPDecoder.cpp
index
8879499
..
e006a9e
100644
(file)
--- a/
saml/saml2/binding/impl/SAML2SOAPDecoder.cpp
+++ b/
saml/saml2/binding/impl/SAML2SOAPDecoder.cpp
@@
-22,7
+22,7
@@
#include "internal.h"
#include "exceptions.h"
#include "internal.h"
#include "exceptions.h"
-#include "
binding/
MessageDecoder.h"
+#include "
saml2/binding/SAML2
MessageDecoder.h"
#include "saml2/core/Protocols.h"
#include <xmltooling/logging.h>
#include "saml2/core/Protocols.h"
#include <xmltooling/logging.h>
@@
-39,7
+39,7
@@
using namespace std;
namespace opensaml {
namespace saml2p {
namespace opensaml {
namespace saml2p {
- class SAML_DLLLOCAL SAML2SOAPDecoder : public MessageDecoder
+ class SAML_DLLLOCAL SAML2SOAPDecoder : public
SAML2
MessageDecoder
{
public:
SAML2SOAPDecoder() {}
{
public:
SAML2SOAPDecoder() {}
@@
-84,6
+84,7
@@
XMLObject* SAML2SOAPDecoder::decode(
const char* data = genericRequest.getRequestBody();
if (!data)
throw BindingException("SOAP message had an empty request body.");
const char* data = genericRequest.getRequestBody();
if (!data)
throw BindingException("SOAP message had an empty request body.");
+ log.debug("received message:\n%s", data);
istringstream is(data);
// Parse and bind the document into an XMLObject.
istringstream is(data);
// Parse and bind the document into an XMLObject.
@@
-105,9
+106,11
@@
XMLObject* SAML2SOAPDecoder::decode(
RequestAbstractType* request = dynamic_cast<RequestAbstractType*>(body->getUnknownXMLObjects().front());
if (request) {
// Run through the policy at two layers.
RequestAbstractType* request = dynamic_cast<RequestAbstractType*>(body->getUnknownXMLObjects().front());
if (request) {
// Run through the policy at two layers.
- policy.evaluate(*env, &genericRequest, samlconstants::SAML20P_NS);
+ extractMessageDetails(*env, genericRequest, samlconstants::SAML20P_NS, policy);
+ policy.evaluate(*env, &genericRequest);
policy.reset(true);
policy.reset(true);
- policy.evaluate(*request, &genericRequest, samlconstants::SAML20P_NS);
+ extractMessageDetails(*request, genericRequest, samlconstants::SAML20P_NS, policy);
+ policy.evaluate(*request, &genericRequest);
xmlObject.release();
body->detach(); // frees Envelope
request->detach(); // frees Body
xmlObject.release();
body->detach(); // frees Envelope
request->detach(); // frees Body