2013-03-08 61 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