如何使用suds连接到Web服务?

时间:2012-02-28 12:28:13

标签: python soap suds

我想连接到一个名为e-conomic的网络服务,以便将来自我的网上商店的数据与电子记录簿记系统同步。但我一开始就坚持如何开始连接。

我有一个电子版帐户,用户名和密码,我安装了suds库来拨打电话:

>>> from suds.client import Client
>>> c = Client('https://www.e-conomic.com/secure/api1/EconomicWebService.asmx?WSDL')
>>>
那么什么?

文档为here,我想要做的是创建一个新订单,如描述here

我的应用程序中的代码才刚刚启动,我不知道如何在SOAP请求中指定我的帐户:

from suds.client import Client

class Economic(NewBaseHandler):

    def get(self):
        url = 'https://www.e-conomic.com/secure/api1/EconomicWebService.asmx?WSDL'
        client = Client(url)
        self.response.out.write('client: %s' % str(client))

你能告诉我怎么办吗?

2 个答案:

答案 0 :(得分:3)

您必须使用service的{​​{1}}方法调用网络服务。

Client

我收到此错误,因为用户未经过身份验证。可能存在一些服务或某些密钥,用于对用户进行身份验证。您需要该密钥才能调用服务。

答案 1 :(得分:1)

#Works only in 2.7 Python. Does not work in Python 3.0 version 

from suds.client import Client
from suds.sax.text import Raw

client = Client('https://www.e-conomic.com/secure/api1/EconomicWebService.asmx?WSDL')
xml = Raw('--Paste your entire xml --')
Response_XML= (client.service.MethodName(__inject={'msg':xml}))

- 您将在Response_XML变量中获取所有xml响应