从wsdl创建python soap服务

时间:2013-04-15 10:14:59

标签: python soap wsdl marshalling

我正在尝试开发一个可以处理soap请求的python脚本。我需要在wsdl中定义的具有正确属性的python对象,以及来自请求的数据,以便将它们写入数据库。如何使用其数据解组soap请求?

然后我必须在同一个wsdl中定义一个响应,作为soap请求。哪个图书馆可以提供帮助?

我试过肥皂水,但它不允许我解散/编组,对吧?就我所见,它也不能编组一个sudsobject并给我一个字符串来添加到我的http响应中。 网上没有太多关于该主题的文档。

1 个答案:

答案 0 :(得分:0)

我认为泡沫可以帮助你。我给你举个例子:

from suds.client import Client

# Web Service Connection
WSDL_URL_PATTERN = "http://{host}:{port}/{service_page}?WSDL"
SERVICE_PAGE = "Example.asmx"
host = host
port = port
username = username
password = password
wsdl_url = WSDL_URL_PATTERN.format(host=host, port=port, service_page=SERVICE_PAGE)
client = Client(wsdl_url, **kwargs)

#Authentication header (optional)
auth = client.factory.create('tns:AuthenticationHeader')
auth.Username = user
auth.Password = passwd
client.set_options(soapheaders=auth)

#My Function Service Call
param1 = "param1"
param2 = "param2"
result = client.service.MyFunction(param1, param2)

for item in result:
    print item.myfield