#include <saml/binding/SOAPClient.h>
namespace opensaml {
+
namespace saml1p {
class SAML_API Request;
/**
* Constructor
*
- * @param soaper reference to SOAPClient object to use for call
+ * @param soaper reference to SOAPClient object to use for call
+ * @param fatalSAMLErrors true iff a non-successful SAML Status code should be fatal
*/
- SAML1SOAPClient(SOAPClient& soaper) : m_soaper(soaper), m_correlate(NULL) {
+ SAML1SOAPClient(SOAPClient& soaper, bool fatalSAMLErrors=true) : m_soaper(soaper), m_fatal(fatalSAMLErrors), m_correlate(NULL) {
}
virtual ~SAML1SOAPClient() {
- XMLString::release(&m_correlate);
+ xercesc::XMLString::release(&m_correlate);
}
/**
* <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 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
*/
- virtual void sendSAML(Request* request, const saml2md::RoleDescriptor& 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
*/
virtual bool handleError(const Status& status);
- /** SOAP client object */
+ /** SOAP client object. */
SOAPClient& m_soaper;
+ /** Flag controlling default error handler. */
+ bool m_fatal;
+
private:
XMLCh* m_correlate;
};