SOAPResponse.h

00001 // $Id: SOAPResponse.h 21 2010-09-05 04:18:17Z cschwarz1 $
00002 
00003 #ifndef BASE_SOAP_SOAPRESPONSE_H
00004 #define BASE_SOAP_SOAPRESPONSE_H
00005 
00006 #if XERCESC_V3
00007     #include <xercesc/dom/DOMLSParser.hpp>
00008 #else
00009     #include <xercesc/dom/DOMBuilder.hpp>
00010 #endif
00011 #include "SOAPRequest.h"
00012 
00013 namespace base_soap {
00015 
00019     class PPBASE_SOAP_EXPORT SOAPResponse: public SOAPRequest {
00020     public:
00022 
00025         SOAPResponse(const SOAPRequest &request);
00026 
00028 
00032         SOAPResponse(const SOAPRequest &request, const SOAPException &exception);
00033 
00035 
00040     #if XERCESC_V3
00041         SOAPResponse(xercesc::DOMImplementation *implementation, xercesc::DOMLSParser *parser, xercesc::DOMDocument *document);
00042     #else
00043         SOAPResponse(xercesc::DOMImplementation *implementation, xercesc::DOMBuilder *parser, xercesc::DOMDocument *document);
00044     #endif
00045 
00047 
00050         void addException(const SOAPException &exception);
00051 
00053 
00056         void copyRequest(SOAPRequest *request);
00057 
00059 
00062         bool failed() const;
00063 
00065 
00068         void throwException(const base::String &host) const;
00069     };
00070 }
00071 
00072 #endif