2013-03-08 53 views
0

这是我的第一个问题。Netsuite Webservices(Python)错误

我是Netsuite的初学者。我发现只有PHP和Java支持。我个人不喜欢这两个。我想用Python。我曾多次使用SUDS进行其他工作,并认为它可以,但不是很好。对于我在netsuite的第一次尝试,我使用了SUDS并尝试执行标准的client = Client(wsdl)。我在这里使用2012 WSDL。 https://webservices.netsuite.com/wsdl/v2012_1_0/netsuite.wsdl

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

Has anyone been able to get the suds soap library to work with the NetSuite WSDL?

然而,实际使用的文件是从2010年。我甚至没有得到该版本的错误,没有任何修改。我希望使用2012.1版本。我尝试了所有可用的解决方案,但都没有工作。如果有人能提出一个好的解决方案,我甚至会使用其他的SUDS。

我走出盒的错误是

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

例外:故障“ExceededRecordCountFault”中没有定义端口类型“NetSuitePortType”

+0

FTR在这里检查我的答案http://stackoverflow.com/a/40741022/90263 – 2016-11-22 11:51:34

回答

1

我得到类似的错误,直到我回滚皂液的版本没有任何有用的信息,0.3.8,0.3.9失败。使用easy_install运行easy_install suds=="0.3.8",然后重试您的代码。

2

我意识到这是旧的(呃),但几个月前我也在同一时间。我尝试使用Suds连接到SuiteTalk,(可能是因为我缺乏SOAP体验)没有任何意义。我曾设法连接过一个点(我相信我使用的是不同于Suds的库),但试图确定使用哪个WSDL是一场噩梦。

无论如何。我放弃了SuiteTalk方法,并开始编写一些restlet脚本。 Python有HTTP请求(个人我使用的是优秀“请求”模块)有很好的支持:

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

据我了解,有可能是一个很好的理由来使用SOAP协议(我想这是一个很多'企业'),但为了我们的目的,为我想要做的每件事情写一个相应的restlet可以很好地工作。我们这样做了大量的日常自动化任务。我最近重写了我的请求代码以使用线程,并且Netsuite允许您执行多达40个同时请求,这会在您处理数千条记录时产生巨大差异

如果您仍然试图将Python与SOAP,我建议尝试一下restlets。

+0

你是如何获得授权在请求中工作的?我使用urllib没有任何问题,但在使用请求时我收到了401响应。 – 2013-11-29 16:13:41