如何用python测试SOAP服务?

2024-09-27 20:19:31 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中,我使用SPYNE库创建了一个soap服务。代码如下:

import logging
logging.basicConfig(level=logging.DEBUG)
from spyne import Application, rpc, ServiceBase, Unicode
from spyne.protocol.xml import XmlDocument
from spyne.protocol.soap import Soap11
from spyne.server.wsgi import WsgiApplication


class notification(ServiceBase):
    @rpc(Unicode, _returns=Unicode)
    def notificacion(ctx, mensaje):
        return 'Hello, %s' % mensaje


application = Application([notification],
    tns='notificacion',
    in_protocol=XmlDocument(validator='lxml'),
    out_protocol=Soap11()
)
if __name__ == '__main__':
    from wsgiref.simple_server import make_server
    wsgi_app = WsgiApplication(application)
    server = make_server('0.0.0.0', 8080, wsgi_app)
    server.serve_forever()

现在我需要试试那个服务。我用ZEEP库创建了一个客户机,它使用以下服务:

^{pr2}$

但我不确定如何测试调用您创建的服务的结果。有人能在这件事上指导我吗? 我找不到如何让客户走路。服务器已经把我接过来了,但是当我执行客户机的代码时,它会让我崩溃。我还不知道如何证明这一点,也不知道该如何援引。在

除此之外,我还犯了以下错误:

407客户端错误:url:http://0.0.0.0:8080/


Tags: 代码fromimportwsgiserverapplicationloggingunicode
1条回答
网友
1楼 · 发布于 2024-09-27 20:19:31

NullServer是一个很好的测试功能。但是为了完成客户机测试,这个例子是一个很好的开始,我建议HttpClient来自{}或者{}来自{}。在

操作简单:

from spyne.client.http import HttpClient

c = HttpClient('http://localhost:8000/', application)

u = c.factory.create("User")

u.user_name = 'dave'
u.first_name = 'david'

retval = c.service.add_user(u)

或者

^{pr2}$

参考号:spyne_client。在

相关问题 更多 >

    热门问题