X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=saml%2Fsaml1%2Fbinding%2FSAML1SOAPClient.h;h=baa28c5d4d284030a5974207d7047986758bfe4d;hb=d8a4f024b89272eae00618fc39e6127b6c191edd;hp=ee41fbb9f7561aa1df6a6e01f1c11d8d53cba428;hpb=8131124adcd9927d04a563e3159914d8670ff306;p=shibboleth%2Fcpp-opensaml.git diff --git a/saml/saml1/binding/SAML1SOAPClient.h b/saml/saml1/binding/SAML1SOAPClient.h index ee41fbb..baa28c5 100644 --- a/saml/saml1/binding/SAML1SOAPClient.h +++ b/saml/saml1/binding/SAML1SOAPClient.h @@ -1,5 +1,5 @@ /* - * Copyright 2001-2007 Internet2 + * Copyright 2001-2009 Internet2 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,9 +23,16 @@ #ifndef __saml1_soap11client_h__ #define __saml1_soap11client_h__ -#include +#include namespace opensaml { + + class SAML_API SOAPClient; + + namespace saml2md { + class SAML_API MetadataCredentialCriteria; + }; + namespace saml1p { class SAML_API Request; @@ -41,14 +48,12 @@ namespace opensaml { /** * 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); - virtual ~SAML1SOAPClient() { - XMLString::release(&m_correlate); - } + virtual ~SAML1SOAPClient(); /** * Specialized method for sending SAML 1.x requests. The SOAP layer will be @@ -57,10 +62,11 @@ namespace opensaml { *

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 @@ -81,9 +87,12 @@ namespace opensaml { */ 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; };