0

这是我关于 SO 的第一个问题。

我是 Netsuite 的初学者。我看到只支持 PHP 和 Java。我个人不喜欢两者。我想使用 Python。我在其他工作中使用了几次 SUDS,并认为它还可以,但不是很好。在我第一次尝试 netsuite 时,我使用了 SUDS 并尝试使用标准客户端 = Client(wsdl)。我在这里使用 2012 WSDL。 https://webservices.netsuite.com/wsdl/v2012_1_0/netsuite.wsdl

由于文件存在问题,我什至无法导入文件。在这里看到帖子

有没有人能够让 suds soap 库与 NetSuite WSDL 一起使用?.

但是,实际使用的文件是 2010 年的。我什至没有在没有修改的情况下收到该版本的错误。我希望使用 2012.1 版本。我已经尝试了所有可用的解决方案,但没有一个有效。如果有人能提出一个好的解决方案,我什至会使用 SUDS 以外的东西。

我开箱即用的错误是

"fault '%s' not defined in portType '%s'" % (fault.name, self.type.name)

异常:端口类型“NetSuitePortType”中未定义故障“ExceededRecordCountFault”

4

2 回答 2

2

我意识到这是旧的(呃),但几个月前我也处于同样的状态。我尝试使用 Suds 连接到 SuiteTalk,但(可能是因为我缺乏 SOAP 经验)却毫无进展。我确实设法在某个时候进行了连接(我相信我使用的是与 Suds 不同的库),但试图确定要使用哪个 WSDL 是一场噩梦。

任何状况之下。我放弃了 SuiteTalk 方法,开始编写一些 restlet 脚本。Python 对 http 请求有很好的支持(我个人使用的是优秀的 'requests' 模块):

http://docs.python-requests.org/en/latest/#

我知道使用 SOAP 协议可能有一个很好的理由(我想它更像是“企业”),但是为了我们的目的,为我想做的所有事情编写一个相应的 restlet 效果很好。我们正在以这种方式完成重要的日常自动化任务。我最近重写了我的请求代码以使用线程,Netsuite 允许您同时执行多达 40 个请求,这在您处理数千条记录时会产生巨大的差异

如果您仍然坚持尝试将 Python 与 SOAP 结合使用,我建议您尝试使用 restlets。

于 2013-08-01T22:50:01.680 回答
1

在我将 suds 版本回滚到 0.3.8 之前,我遇到了类似的错误,0.3.9 在没有任何有用信息的情况下失败了。使用 easy_install 运行easy_install suds=="0.3.8",然后重试您的代码。

于 2013-04-02T20:25:50.207 回答