問題タブ [suds]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1194 参照

python - Python/SUDS を介してランタイム SOAP メソッドを呼び出す

suds.client.Client オブジェクトがあります。メソッド名をハードコーディングすることでメソッドを呼び出すことができます。

実行時まで名前がわからないメソッドを実行できるようにしたいと考えています。これは非常に単純だと確信していますが、私は泡にかなり慣れていないので、かなりクレイジーな魔法をしているようです.

ありがとう

0 投票する
1 に答える
1033 参照

python - Suds を使用した Python SOAP に問題がある

Suds に問題があり、何がこのように動作するのかわかりません。Web サービスを呼び出そうとしていますが、そのサービスは 1 つの複合型を引数として取ります (ShippingGuideRequestType)。pdb セッションを投稿して、何が起こっているのかを説明しようと思います。表示される「request」変数はタイプが ShippingGuideRequestType であり、client.factory.create("ShippingGuideRequestType") を使用して作成されます。

ShippingGuideRequestType は問題ないようです。次に、必須フィールドにデータを入力してみましょう。最初に UserInformation プロパティを扱いましょう。これは client.factory.create("UserInformationType") を使用して作成されます。

client.factory.create("ProductIdsType") を使用して作成された ProductIds を処理しましょう。

最後の必須プロパティは PackagesInputType です。これはもう少し複雑な方法で作成されます。最初に PackagesInputType を作成し、次に PackageInputType の配列を作成します (client.factory.create("PackageInputType") を使用)。

私の観点では、構造は問題ないように見えます。サービスを呼び出してみましょう。

ここで何が起こったのですか?すべてが UserInformation 要素内でエンコードされるのはなぜですか?

0 投票する
1 に答える
7107 参照

python - Python と suds 0.4 を使用した SAXParseException?

Suds を使用して SOAP Web サービスからデータを取得する単純な Python スクリプトがあります。あるマシンでは完全に動作しますが、古いバージョンの Python (2.4.3) を搭載した別のマシンに移動すると、次のスタック トレースが表示されます。

キャッシュに関連するさまざまな関連エラーを調べましたが、それは問題ではないようです。キャッシュを無効にしましたが、いずれにしても /tmp/suds にはバージョン ファイルのみが含まれていました。

これは Python のバージョンに関連している可能性がありますか、それとも他に試してみるべき明らかなことはありますか?

0 投票する
1 に答える
1186 参照

python - Python-SUDS SOAP無効な名前空間-チャネルアドバイザー?

職場では、ChannelAdvisorAPIにアクセス/操作する必要があります

http://developer.channeladvisor.com/display/cadn/Order+Service

ソース:

簡単なpingを実行しようとしています

問題:

SOAPXMLの形式が正しくないという応答があります

リクエストは次のようになります。

しかし、代わりに次のようになります。

私はSOAPの経験がまったくなく、これまでのところ、その無限の実装と複雑さを避けてきました-それで、私の完全な無知と知識の欠如を許してください、しかし私が間違っているとしたらどうすればいいですか-どうすればPythonを入手できますか(チャネルアドバイザーAPIと連携するために選択した言語)

更新:

※回答がないので、解決策が見つかったら全員更新していきます(2011年3月3日)

問題の一部は、SUDSにネストされたWSDLファイルが正しく含まれていない可能性があることだと思います。

0 投票する
1 に答える
7192 参照

python - suds SOAP ライブラリを使用した HTTP 認証からの奇妙な動作

sudsを使用してSOAP経由で大量のデータを取得しているPythonプログラムが動作しています。Web サービスは、各フェッチ呼び出しでnnn行を取得し、後続の呼び出しで次のnnn行を取得できるように、ページング機能を使用して実装されています。次のようなコードでHTTPサーバーに認証すると

すべてがうまく機能します。ただし、次を使用する場合

正確に6回の反復で機能します。つまり、フェッチごとに 10 行のフェッチ制限を指定すると、60 行が返されます。7回目のフェッチで、私は受け取ります

これを引き起こしている可能性があるものについて、誰か提案がありますか。問題を引き起こしているのは間違いなくこの変化です。認証スタイルを前後に入れ替えることができ、完全に再現可能です。

suds 0.4でpython 2.6.6を実行しています。

ありがとう

0 投票する
2 に答える
882 参照

java - xs:anyType引数をJavaのWebサービスメソッドに渡すPythonクライアントを作成します

メソッドを公開する小さなWebサービス[Axis2/Java]を作成しました

私のクライアントはpythonsudsクライアントです。

WSDLは、要素varArgsが次のようになっていることを示しています。

ただし、実行時にはObject配列には何も入りません。デバッグモードで配列を調べようとすると、nullであることがわかります。

配列またはvarArgsパラメーターの単一の基本型を送信できるようにFillメソッドに引数を渡す方法をアドバイスしてください。

ありがとう、ダワル。

0 投票する
1 に答える
740 参照

python - Python - Suds0.4 - SOAP ボディの複雑な引数

SUDS0.4 経由で Python クライアントを SOAP サーバーに接続しようとしています。通常、SOAP 関数に複雑な引数を提供するには、python 辞書を使用します。たとえば、SOAP 引数が次のようになっている場合:

私のpythonコードは次のようになります:

今、私はプログラムしていないSOAPサーバーに接続しようとしていますが、リクエストのSOAPボディが既存のJavaクライアントからどのように見える必要があるかを知っています:(興味のある部分)

したがって、まったく同じ名前「parameterDesignatorValuePair」を持つ2つの複雑な引数で構成される複雑な引数「parameterDesignatorValuePairSet」を渡す必要があります。Python辞書を使用してそれを行うことはできません:-(

リストとタプルを使用しようとしましたが、SUDS からエラーが返されました...

助けてくれてありがとう

0 投票する
1 に答える
2487 参照

python - suds ライブラリのカスタム認証 (Python)

UserId と AccessToken の 2 つのパラメーターを送信して認証を行う WSDL を使用して SOAP サーバーにアクセスする必要があります。私はこの方法を試しました: token = UsernameToken( UserId, AccessToken ) token.setnonce() token.setcreated()

そして、泡がこのエラーをスローしました

このパラメータをリクエストに追加するにはどうすればよいですか? それとも私は何か他のことを間違っていますか?

0 投票する
2 に答える
2840 参照

python - Webサービスへのアクセス

私は仕事のためにWebサービスにアクセスするためのクライアントを作成しようとしています。私は、PythonでSUDSとZSIを使用してクライアントを正常に作成しました。NetBeans 6.9を使用して、いくつかのJavaクライアントの作成を支援しました。成功したクライアントはすべて、私がインターネットで見つけた無料で利用できるWebサービスにアクセスしています。

私が仕事のために接続する必要があるクライアントは、それほど友好的であるとは証明していません。認証が必要です:

http://www.cmicdataservices.com/datacenter/service.asmx

このWebサービスのWSDL記述を取得すると、6つの方法があることがわかります。

70種類も返品されます。それらの1つは認証タイプです。

PythonおよびJavaクライアントでは、これらの認証オブジェクトを作成できましたが、それ以上何もできませんでした。

WSDLからは、利用可能なものを使用してこれらの認証オブジェクトを作成する方法があることを私に示すものはありません。Webサービスのサプライヤーは、Adobe Airを使用して構築されたクライアントを提供しており、それをテストして、Webサービスに対して認証して使用できることを確認できます。

Webサービスとのインターフェースが必要になったのはこれが初めてであり、ここで不足しているものがあるかどうかはわかりません。このサービスで認証する方法について、ここで私が見逃している明らかなことがあるかどうか誰かに教えてもらえますか?

これが私が書いたPythonクライアントとその出力です。印刷クライアント行の​​コメントを解除すると、WSDL情報の見事な印刷出力を確認できます。

出力:

0 投票する
2 に答える
5392 参照

python - suds を使用して作成された SOAP 要求の属性に名前空間プレフィックスを強制する方法

次の構造を持つ SOAP サービスとやり取りするために、python suds (バージョン: 0.3.9 GA ビルド: R659-20100219) を使用しています。

以下のような構造の SOAP リクエストを送信する必要があります。

つまり、id 属性の前にターゲット名前空間を追加する必要があります。そうしないと、リクエストは失敗します:(

doIngest リクエスト オブジェクトを作成する方法をいくつか試しましたが、次のようなリクエストしか作成できません。

つまり、id 属性にターゲット名前空間プレフィックスがありません。

私は次の変種を試しました:

と:

と:

しかし、私は同じSOAPリクエストを受け取ります

WSDL は次のことを教えてくれます。

これは、id が名前空間プレフィックスを必要としていることを示しています。

したがって、問題は、名前空間プレフィックスを id 属性に強制するにはどうすればよいかということです。

ガンジーに感​​謝

したがって、解決策は次のとおりです。

Suds を 0.4 に更新 (バージョン 0.3.9 では MessagePlugin が利用できなかったため)

それから: