python - 有没有人能够让 suds soap 库与 NetSuite WSDL 一起工作?

标签 python soap netsuite

有没有人能够让 suds soap 库与 NetSuite WSDL 一起工作?我在尝试创建客户端时遇到此错误。

from suds.client import Client

#url = 'http://mssoapinterop.org/asmx/simple.asmx?WSDL'
url = 'https://webservices.netsuite.com/wsdl/v2009_2_0/netsuite.wsdl'
client = Client(url)
print client


Traceback (most recent call last):
client = Client(url)
File "build\bdist.win32\egg\suds\client.py", line 112, in __init__
File "build\bdist.win32\egg\suds\reader.py", line 152, in open
File "build\bdist.win32\egg\suds\wsdl.py", line 158, in __init__
File "build\bdist.win32\egg\suds\wsdl.py", line 207, in resolve
File "build\bdist.win32\egg\suds\wsdl.py", line 662, in resolve
File "build\bdist.win32\egg\suds\wsdl.py", line 757, in resolvefaults
Exception: fault 'ExceededRecordCountFault' not defined in portType 'NetSuitePortType'

最佳答案

是的,suds 可以连接到 NetSuite,但是处理 WSDL 需要很长时间。

下面是一些示例代码:

# Open NetSuite Session
wsdlNetSuite = 'https://webservices.netsuite.com/wsdl/v2010_1_0/netsuite.wsdl'
client = Client(wsdlNetSuite)

# Login
passport = client.factory.create('ns4:Passport')
passport.email = 'username@web.com'
passport.password = 'ABC123'
passport.account = 123
loginResponse = client.service.login(passport)
print 'Login Response: '
print loginResponse.status

# Get a record
recordRef = client.factory.create('ns4:RecordRef')
recordRef._internalId = 127842
recordRef._type = 'invoice'
record = client.service.get(recordRef)
print record

您可能还需要尝试 Python 和 SUDS 版本的各种组合。它不是一个特别可靠的库。

关于python - 有没有人能够让 suds soap 库与 NetSuite WSDL 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4400216/

相关文章:

python - 如果语句不读取输入

java - WSO2 ESB 类中介在异常情况下继续

javascript - 在 Netsuite suitescript 中将项目添加到销售订单

python - 如何在Python中正确索引大矩阵

python - typing.NamedTuple 和 PyCharm

c# - 设计 C# SOAP API 客户端/包装器

.net - WCF Soap 消息删除 'To' header

javascript - NetSuite - 订单项循环问题

html - NetSuite Advanced PDF 模板是否支持绝对定位?

python - 您不认为从系列列表创建 DataFrame 很奇怪吗?