00001
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