X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=saml%2Fsaml1%2Fbinding%2Fimpl%2FSAML1SOAPDecoder.cpp;h=47f2c6071b0edf916d070f761e20e763afb10ea6;hb=0f6286d0ffd9371c187ecb1775cbd199ed051af5;hp=eff4034e1bf9971db2a2071409f6f1e61197f77f;hpb=2d05f4d1935e7b79e70f2775a14c10964a04164e;p=shibboleth%2Fcpp-opensaml.git diff --git a/saml/saml1/binding/impl/SAML1SOAPDecoder.cpp b/saml/saml1/binding/impl/SAML1SOAPDecoder.cpp index eff4034..47f2c60 100644 --- a/saml/saml1/binding/impl/SAML1SOAPDecoder.cpp +++ b/saml/saml1/binding/impl/SAML1SOAPDecoder.cpp @@ -25,7 +25,7 @@ #include "binding/MessageDecoder.h" #include "saml1/core/Protocols.h" -#include +#include #include #include #include @@ -33,8 +33,8 @@ using namespace opensaml::saml1p; using namespace opensaml; using namespace soap11; +using namespace xmltooling::logging; using namespace xmltooling; -using namespace log4cpp; using namespace std; namespace opensaml { @@ -42,7 +42,7 @@ namespace opensaml { class SAML_DLLLOCAL SAML1SOAPDecoder : public MessageDecoder { public: - SAML1SOAPDecoder(const DOMElement* e) {} + SAML1SOAPDecoder() {} virtual ~SAML1SOAPDecoder() {} bool isUserAgentPresent() const { @@ -56,9 +56,9 @@ namespace opensaml { ) const; }; - MessageDecoder* SAML_DLLLOCAL SAML1SOAPDecoderFactory(const DOMElement* const & e) + MessageDecoder* SAML_DLLLOCAL SAML1SOAPDecoderFactory(const pair& p) { - return new SAML1SOAPDecoder(e); + return new SAML1SOAPDecoder(); } }; }; @@ -78,14 +78,12 @@ XMLObject* SAML1SOAPDecoder::decode( string s = genericRequest.getContentType(); if (s.find("text/xml") == string::npos) { log.warn("ignoring incorrect content type (%s)", s.c_str() ? s.c_str() : "none"); - return NULL; + throw BindingException("Invalid content type for SOAP message."); } const char* data = genericRequest.getRequestBody(); - if (!data) { - log.warn("empty request body"); - return NULL; - } + if (!data) + throw BindingException("SOAP message had an empty request body."); istringstream is(data); // Parse and bind the document into an XMLObject.