Main Page | Class Hierarchy | Class List | File List | Class Members

XSoap12ServerProxy.hpp

00001 #ifndef XSOAP12Server_PROXY_H 00002 #define XSOAP12Server_PROXY_H 00003 00004 #include <map> 00005 #include <ostream> 00006 00007 #include <msl/Sptr.h> 00008 #include <msl/Mutex.h> 00009 00010 #include <wsit/ArgList.h> 00011 #include <wsit/Result.h> 00012 00013 #include <proteus/Invocation.h> 00014 #include <proteus/InvocationHandler.h> 00015 #include <proteus/VobjectFactory.h> 00016 00017 #include "HttpServiceHandler.hpp" 00018 #include "XSoap12RPCFault.hpp" 00019 #include "XSoap12Serializer.hpp" 00020 #include "XSoap12Deserializer.hpp" 00021 #include "XSoap12Proxy.hpp" 00022 00023 namespace xsoap { 00024 00026 00033 class XSoap12ServerProxy : public XSoap12Proxy , 00034 public HttpServiceHandler { 00035 00036 public: 00038 XSoap12ServerProxy(){} 00039 //Methods 00040 public: 00041 00043 00050 void registerSkel(const std::string& uniqueName, 00051 proteus::InvocationHandler* skel); 00052 00053 private: 00054 // Disallow there unless specifically allowed. 00055 XSoap12ServerProxy(const XSoap12ServerProxy &); 00056 XSoap12ServerProxy &operator=(const XSoap12ServerProxy&); 00057 00058 // Inherited from HttpSerivceHandler; 00059 private: 00060 00061 void handleMsg(const std::string& msg, HttpServerChannel& chan); 00062 00063 //helper functions 00064 proteus::Invocation unpackInvocation(XSoap12Deserializer& unpacker); 00065 void packResult(const string& name, 00066 const wsit::ValueResult_sptr &, 00067 XSoap12Serializer& packer); 00068 00069 00070 void packFault(const XSoap12RPCFault &, 00071 XSoap12Serializer& packer); 00072 00073 00074 std::string soapFault2HttpStatus(const std::string& soapFault); 00075 00076 //data member 00077 private: 00078 00079 std::map<std::string,proteus::InvocationHandler*> m_RMITable; 00080 }; 00081 00082 } 00083 #endif 00084 00085 00086 00087 00088 00089 00090 00091 00092 00093 00094 00095

Generated on Sat Jun 5 00:52:18 2004 for XSoap-C++ by doxygen 1.3.7