0

使用

from twisted.web import soap, xmlrpc, resource, server
import os

def getQuote():
    return "Victory to the burgeois, you capitalist swine!"

class XMLRPCQuoter(xmlrpc.XMLRPC):
    def xmlrpc_quote(self):
        return getQuote()

class SOAPQuoter(soap.SOAPPublisher):
    def soap_quote(self):
        return getQuote()

def main():
    from twisted.internet import reactor
    root = resource.Resource()
    root.putChild('RPC2', XMLRPCQuoter())
    root.putChild('SOAP', SOAPQuoter())
    reactor.listenTCP(7080, server.Site(root))
    reactor.run()

if __name__ == '__main__':
    main()

我得到“::1:0:找不到元素”。查看回溯,我可以看到进行此调用时引发了异常

p, header, body, attrs = SOAPpy.parseSOAPRPC(data, 1, 1, 1)

我还测试了另一个twisteSOAP 程序,我认为这是有一些版本问题。我在 ubuntu 12.04 上,带有扭曲的 11.01。

可能是一些与 python 和 xml 相关的版本。有人有类似的吗?

如果我在 /usr/lib/python2.7/dist-packages/twisted/web/soap.py 中添加以下代码,在第 52 行

    f = open('/tmp/nannata', 'w')
    f.write(data)
    f.close()

查看 /tmp/nannata 我可以看到该文件是无效的!所以解析问题,大概就是指这个……

4

1 回答 1

0

对不起,所有的骚动,

使用纯肥皂客户端而不是网络浏览器运行游戏。所以,这是一个误报。

是否有一些建议来开发一个带有 twisted 和 ZSI 或 twised 和 suds 的 SOAP 服务器?我会很感激的:)

于 2013-04-10T16:31:07.313 回答