問題タブ [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.
python - Suds python で Soap Envelope を上書きする
私はカメラを持っていて、それに接続しようとしています。私は生の xml を送信しようとしましたが、xml の泡が機能しない唯一の原因は、不適切な Soap エンベロープの名前空間であることがわかりました。
エンベロープの名前空間は次のとおりです。
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
そして、私はそれを次のように書き直したい:
xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"
Python で名前空間を追加するために、次のコードを試します。
message = Element('Element_name').addPrefix(p='SOAP-ENC', u='www.w3.org/ENC')
しかしSOAP-ENV
、名前空間に追加すると、 suds バインディングにハードコードされているため、書き込みません。これを泡で上書きする方法はありますか?
助けてくれてありがとう。
python - PythonSUDSクライアントでのComplexデータ型の使用
SUDSを使用してPythonクライアントからWebサービスを呼び出そうとしています。複雑なデータ型を入力パラメーターとして関数を呼び出すと、正しく渡されませんが、Webサービス呼び出しから複雑なデータ型が正しく返されます。
これが私が使用しているコードです:
Pythonクライアント:
webservice javaクラス:
およびBeanクラス:
したがって、問題は次のようになります。
呼び出し時:client.service.printParamBean(params)
Pythonクライアントでは、サーバー側の出力は次のとおりです。
しかし、電話で:client.service.modifyParamBean(params)
クライアントの出力は次のとおりです。
私はここで何が間違っているのですか?
python - Python:SUDSのトランスポートとしてTwistedを使用するにはどうすればよいですか?
ネットワークデバイスとの通信に使用されるTwistedに基づくプロジェクトがあり、APIがSOAPである新しいベンダー( Citrix NetScaler )のサポートを追加しています。残念ながら、TwistedでのSOAPのサポートはまだに依存していますがSOAPpy
、これはひどく時代遅れです。実際、この質問(私はチェックしたばかりです)の時点では、twisted.web.soap
それ自体は21か月も更新されていません!
Twistedの優れた非同期トランスポート機能をSUDSで利用することについて、誰かが喜んで共有してくれる経験があるかどうかを尋ねたいと思います。カスタムのツイストトランスポートを接続すると、SUDSに自然にフィットするようClient.options.transport
です。頭を包むのに苦労しています。
を利用して、SUDSでSOAPメソッドを非同期的に呼び出す方法を思いついたのですtwisted.internet.threads.deferToThread()
が、これは私にとってはハックのように感じます。
これが私がやったことの例です、あなたにアイデアを与えるために:
これは期待どおりに機能しapi.login()
、ブロックするのではなく、呼び出しが完了するまで呼び出しの戻りを延期します。しかし、私が言ったように、それは正しく感じられません。
ヘルプ、ガイダンス、フィードバック、批判、侮辱、または完全な解決策を事前に感謝します。
更新:私が見つけた唯一の解決策はtwisted-sudsです。これは、Twistedで動作するように変更されたSudsのフォークです。
python - Suds を使用した Atlassian Crowd SOAP API へのアクセス (python SOAP ライブラリ)
最近、 Suds Python ライブラリを介してCrowd SOAP APIにアクセスできた人はいますか?
過去に何人かの人々がそれを成功させているのを見つけましたが、アトラシアンはそれ以来 WSDL を変更して、既存のアドバイスを完全には役に立たないようにしています。
以下は、私が試した最も簡単な例です。
残念ながら、次のエラーが生成されます。
私はバインディングと医師の両方にこの問題を解決しようとしましたが、役に立ちませんでした. どちらのアプローチでも変化はありませんでした。さらに推奨事項や提案があれば、非常に役立ちます。
python - SUDS によって生成された不正な XML
SUDS と Python を使用して SOAP Web サービスと通信しようとしています。Python の学習 (はい、これは初めてです) と SUDS の使用方法を考え出すのに何度も悩まされた後、問題に遭遇しました。
suds によると、私が呼び出している Web メソッドのシグネチャは次のとおりです。
そのため、SUDS を使用して必要なクラスを作成し、それをメソッドに送信します。ただし、エラーが発生します。そのため、ログをオンにすると、送信されている XML が正しくなく、逆シリアル化エラーが発生していることがわかります。SOAP パッケージは次のようになります。
ご覧のとおり、他のすべての要素の周りに「ClassificationEventCode」要素がありますが、これは存在しないはずです。この xml を SOAPUI にカット アンド ペーストし、最初にこの要素を削除してから Web サービスに直接投稿すると、正常に機能します。
これが私が電話をかけるために使用しているコードです
なぜこれが起こっているのか、誰にもアイデアがありますか? SUDSは、WSDLに基づいてそこにあるはずだと考えていると思います。
ありがとう。
python - suds 0.3.6にhttpヘッダーを追加するにはどうすればよいですか?
私は、sud0.3.6を介してデータを送信するPython2.5のアプリケーションを持っています。
問題は、データにASCII以外の文字が含まれているため、soapメッセージに次のヘッダーが存在する必要があることです。
Content-Type = "text / html; charset =" utf-8 "
そして、SOAPメッセージに存在するヘッダーは次のとおりです。
Content-Type = "text / html"
suds 0.4で修正されていることは知っていますが、CentOSを使用していて、そのバージョンが必要なため、Python2.6が必要です。Python2.5が必要です。したがって、問題は次のとおりです。
SOAPメッセージに新しいHTTPヘッダーを変更または追加するにはどうすればよいですか?
aptana - Aptana Studioはインポートを解決できませんが、機能します
sudsをインストールして、 AptanaStudioで試してみました。from suds.client import Client
赤で強調しても解決しないようですが、次のコードは引き続き機能します。そこで、同じコードを実行してEclipse-PluginforPydevをインストールすることにしました。今回、Eclipseプラグインは期待どおりにクライアントを解決できます。Eclipseプラグインとは異なり、Aptana Studioがこのクラスを解決できないのはなぜですか?この種のバグですか、それともsudsパッケージのインストール中に何かをねじ込んだことがありますか?
python - 実行時に suds クライアントの Web サービス URL を変更する (wsdl を保持する)
まず、私の質問はこれに似ています
しかし、それは少し違います。私たちが持っているのは、一連の環境であり、同じサービス セットがあります。一部の環境 (ローカル環境) では、wsdl にアクセスできるため、suds クライアントを生成できます。外部環境の場合、wsdl にアクセスできません。しかし、同じで、クライアントを再生成せずに URL だけを変更できることを望んでいました。クライアントのクローンを作成しようとしましたが、うまくいきません。
編集: コードの追加:
それは私にこの例外を与えます:
アクション ' http://tempuri.org/IMyService/IsHealthy 'を持つメッセージは、EndpointDispatcher での ContractFilter の不一致により、受信側で処理できません。これは、コントラクトの不一致 (送信者と受信者の間のアクションの不一致) または送信者と受信者の間のバインディング/セキュリティの不一致が原因である可能性があります。送信者と受信者が同じコントラクトと同じバインド (メッセージ、トランスポート、なしなどのセキュリティ要件を含む) を持っていることを確認します。
問題は、クライアントをホストに直接設定すると、正常に動作することです: client = suds.client.Client(host)
ご覧のとおり、クライアントのクローンを作成しようとしましたが、同じ例外があります。私もこれを試しました:
そして同じ例外を得ました。
誰でも私を助けることができますか?
python - 複製ノードをレンダリングし、その中にすべてをラップする SUDS
これが私のコードです:
これが出力するものです:
accountID ノードを 2 回作成し、その中にすべてをラップする方法を確認してください。なぜ?どうすればそれを止めることができますか?!
編集:SUDS出力でこれに気づきました:
このタグは何ですか?...ドキュメントを確認します
python - Windows と FreeBSD でのスクリプトの動作の違い
Webサーバーで動作するスクリプトを書いています。
だから、私は次のコードを持っています:
FreeBSD で実行すると、戻ります
しかし、Windowsではそれが返されます
どうすれば修正できますか?