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 プログラムもテストしましたが、バージョン管理の問題があると思います。私はツイスト11.01で、ubuntu 12.04を使用しています。

おそらく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 を調べると、ファイルが void であることがわかります。したがって、解析の問題は、おそらくこれを参照しました...

4

1 に答える 1

0

騒ぎ立ててごめんね、

Web ブラウザーの代わりに純粋な soapclient を使用すると、ゲームが実行されます。したがって、それは偽陽性でした。

twisted と ZSI または twised と suds を使って SOAP サーバーを開発するための提案はありますか? 私はそれをたくさん感謝します:)

于 2013-04-10T16:31:07.313 に答える