0

これはSOに関する私の最初の質問です。

私はネットスイートの初心者です。デフォルトでは、PHP と Java のみがサポートされています。個人的にはどちらも嫌いです。Python を使用したいと思います。私は他の仕事にSUDSを数回使用しましたが、それは大丈夫だと思いましたが、素晴らしいものではありませんでした. netsuite での最初の試みでは、SUDS を使用し、標準の client = 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)

例外: portType 'NetSuitePortType' で定義されていない障害 'ExceededRecordCountFault'

4

2 に答える 2

2

私はこれが古いことを認識していますが、数か月前にも同じ時点にいました。Suds を使用して SuiteTalk に接続しようとしましたが (おそらく SOAP の経験がないため)、まったくうまくいきませんでした。ある時点でなんとか接続できましたが (Suds とは別のライブラリを使用していたと思います)、どの WSDL を使用するかを決定しようとするのは悪夢でした。

いかなる場合でも。私は SuiteTalk アプローチをあきらめ、いくつかの restlet スクリプトを書き始めました。Python は http リクエストを非常にうまくサポートしています (個人的には優れた「リクエスト」モジュールを使用しています):

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

SOAPプロトコルを使用する正当な理由があるかもしれないことは理解していますが(それはもっと「エンタープライズ」だと思います)、私たちの目的のために、私がやりたいことすべてに対応するrestletを書くことは美しく機能します. この方法で、毎日の重要な自動化タスクを実行しています。最近、スレッドを使用するようにリクエスト コードを書き直しました。Netsuite では、最大 40 の同時リクエストを実行できます。これは、何千ものレコードを扱う場合に大きな違いをもたらします。

SOAP で Python を使用することにまだ行き詰まっている場合は、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 に答える