18 # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
18 # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
19 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
19 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
20 # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
20 # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
21 |
21 |
22 # -*- coding: utf-8 -*- |
22 # -*- coding: utf-8 -*- |
23 from twisted.web import soap, xmlrpc |
23 #from twisted.web import soap |
|
24 from twisted.web import xmlrpc |
24 |
25 |
25 from ..controller.viewinterface import Interface |
26 from ..controller.viewinterface import Interface |
26 |
27 |
27 from ..error import InterfaceException, ValidateException |
28 from ..error import InterfaceException, ValidateException |
28 |
29 |
65 if isinstance(failure.value, ValidateException): |
66 if isinstance(failure.value, ValidateException): |
66 return xmlrpc.Fault(failure.value.code, failure.value.msg) |
67 return xmlrpc.Fault(failure.value.code, failure.value.msg) |
67 return xmlrpc.XMLRPC._ebRender(self, failure) |
68 return xmlrpc.XMLRPC._ebRender(self, failure) |
68 |
69 |
69 |
70 |
70 class SOAPInterface(TwistedInterface,soap.SOAPPublisher): |
71 #class SOAPInterface(TwistedInterface,soap.SOAPPublisher): |
71 """SOAP interface""" |
72 # """SOAP interface""" |
72 def __init__(self): |
73 # def __init__(self): |
73 soap.SOAPPublisher.__init__(self) |
74 # soap.SOAPPublisher.__init__(self) |
74 TwistedInterface.__init__(self) |
75 # TwistedInterface.__init__(self) |
75 |
76 # |
76 def lookupFunction(self, functionName): |
77 # def lookupFunction(self, functionName): |
77 if functionName in self.listProcedures(): |
78 # if functionName in self.listProcedures(): |
78 function = getattr(self, functionName, None) |
79 # function = getattr(self, functionName, None) |
79 if function: |
80 # if function: |
80 return function, getattr(function, "useKeywords", False) |
81 # return function, getattr(function, "useKeywords", False) |
81 return None |
82 # return None |
82 else: |
83 # else: |
83 return None |
84 # return None |
84 |
85 |
85 def appendResource(root): |
86 def appendResource(root): |
86 """adding XML-RPC and SOAP to root.""" |
87 """adding XML-RPC and SOAP to root.""" |
87 root.putChild('RPC2', XMLRPCInterface()) |
88 root.putChild('RPC2', XMLRPCInterface()) |
88 root.putChild('SOAP', SOAPInterface()) |
89 #root.putChild('SOAP', SOAPInterface()) |
89 |
90 |
90 if __name__ == '__main__': |
91 if __name__ == '__main__': |
91 from twisted.web import resource, server |
92 from twisted.web import resource, server |
92 from twisted.internet import reactor |
93 from twisted.internet import reactor |
93 |
94 |