00001 #include "WSRF.h" 00002 #include <arc/ws-addressing/WSA.h> 00003 #include <arc/DateTime.h> 00004 00005 namespace Arc { 00006 00007 extern const char* WSRFBaseFaultAction; 00008 00010 00011 class WSRFBaseFault: public WSRF { 00012 protected: 00014 void set_namespaces(void); 00015 public: 00017 WSRFBaseFault(SOAPEnvelope& soap); 00019 WSRFBaseFault(const std::string& type); 00020 virtual ~WSRFBaseFault(void); 00021 00022 std::string Type(void); 00023 00024 Time Timestamp(void); 00025 void Timestamp(Time); 00026 00027 WSAEndpointReference Originator(void); 00028 //void Originator(const WSAEndpointReference&); 00029 00030 void ErrorCode(const std::string& dialect,const XMLNode& error); 00031 XMLNode ErrorCode(void); 00032 std::string ErrorCodeDialect(void); 00033 00034 void Description(int pos,const std::string& desc,const std::string& lang); 00035 std::string Description(int pos); 00036 std::string DescriptionLang(int pos); 00037 00038 void FaultCause(int pos,const XMLNode& cause); 00039 XMLNode FaultCause(int pos); 00040 }; 00041 00042 class WSRFResourceUnknownFault: public WSRFBaseFault { 00043 public: 00044 WSRFResourceUnknownFault(SOAPEnvelope& soap):WSRFBaseFault(soap) { }; 00045 WSRFResourceUnknownFault(void):WSRFBaseFault("wsrf-r:ResourceUnknownFault") { } 00046 virtual ~WSRFResourceUnknownFault(void) { }; 00047 }; 00048 00049 class WSRFResourceUnavailableFault: public WSRFBaseFault { 00050 public: 00051 WSRFResourceUnavailableFault(SOAPEnvelope& soap):WSRFBaseFault(soap) { }; 00052 WSRFResourceUnavailableFault(void):WSRFBaseFault("wsrf-r:ResourceUnavailableFault") { } 00053 virtual ~WSRFResourceUnavailableFault(void) { }; 00054 }; 00055 00056 WSRF& CreateWSRFBaseFault(SOAPEnvelope& soap); 00057 00058 } // namespace Arc 00059