問題タブ [soap]
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.
.net - Webサービスを介して複雑なデータを送信するための好ましい方法は何ですか?
それは2008年です、そして私はまだこれに引き裂かれています。そこで、複合型を渡してそこから返す必要があるWebメソッドを開発しています。私がいじっている2つのオプションは次のとおりです。
データと動作の両方を含む実際のビジネスオブジェクトを渡し、返します。wsdl.exeを実行すると、データ部分のみを含むプロキシクラスが自動的に作成され、サーバー側の実際のビジネスオブジェクトとの間で自動的に変換されます。クライアント側では、ダムプロキシタイプのみを使用できるようになり、適切と思われる実際のビジネスオブジェクトにマップする必要があります。ここでの大きな欠点は、サーバー側とクライアント側の両方を「所有」していて、同じセットの実際のビジネスオブジェクトを使用したい場合、名前の競合などで特定の頭痛の種に遭遇する可能性があることです(実際のオブジェクトとプロキシの名前は同じです。)
「実際の」ビジネスオブジェクトを渡そうとするのを忘れてください。代わりに、実際のビジネスオブジェクトに手動でマッピングする単純なDataTransferオブジェクトを作成するだけです。いずれにせよ、それらはwsdl.exeによって新しいプロキシオブジェクトにコピーされますが、少なくとも、Webサービスがビジネスロジックを含むオブジェクトをネイティブに処理できると思い込ませることはありません。
ちなみに-オブジェクトのコピーを作成しないようにwsdl.exeに指示する方法を知っている人はいますか?「ねえ、この既存のタイプをここで使用してください。コピーしないでください」とだけ言うことはできません。
とにかく、今のところ#2に落ち着きましたが、皆さんのご意見に興味があります。一般的にはもっと良い方法があると思いますし、すべての点で完全に正確ではないかもしれませんので、あなたの経験を教えてください。
更新:VS 2008には、プロキシファイルにまったく新しい同一のタイプを作成するのではなく、「サービスリファレンス」を追加するときに既存のタイプを再利用するオプションがあることがわかりました。甘い。
apache-flex - SoapException:.NETWebサービスがFlexから呼び出されたときにルート要素が欠落している
ページ内にFlexアプリケーションが埋め込まれている.netWebアプリケーションがあります。このフレックスアプリケーションは、.netWebサービスを呼び出します。デバッガーを介して実行プロセスを追跡でき、応答が得られるまですべてが見栄えがします。
flexからの呼び出しは良さそうですが、Webサービスを介した実行は良好ですが、これは私がwiresharkを介してキャプチャした応答です。ここで何が起こっているのでしょうか。
「HelloWorld」からパラメータ化されたメソッドまで、いくつかのWebメソッドを試しました...すべて同じ応答でカムバックします...
「---&gt」を使用したエンコーディングと関係があるのではないかと思いましたが、.netが応答としてレンダリングするものを制御する方法がわかりません。
.net - SOAPClientを使用してASPからASP.NETWebサービスを呼び出す
次のようなASP.NETWebサービスがあります。
次のようなものを使用して、ASPからWebサービスを呼び出しています。
私が遭遇している問題は、XMLがProcessMessageメソッドに到達すると、Webサービスの配管が途中でデフォルトの名前空間を追加したことです。つまり、ProcessMessage(XmlDocument message)内にブレークポイントを設定すると、次のように表示されます。
有線でパケットをキャプチャすると、SOAPツールキットによって送信されるXMLが.NETWSクライアントによって送信されるXMLとわずかに異なることがわかります。SOAPツールキットは以下を送信します。
.NETクライアントが送信する間:
ASP /SOAPツールキットを使用して.NETWebサービスを呼び出してからかなりの時間が経ちましたが、このようなものを回避するために引っ張っていた巧妙なトリック/SOAP-fuをすべて思い出せません。
何か案は?1つの解決策は、XMLを文字列パラメーターとして受け取り、私に代わってWSを呼び出すCOM呼び出し可能.NETプロキシをノックアップすることですが、これは私がやりたくない複雑さ/作業の余分な層です。
wcf - WCF - ドメイン オブジェクトと IExtensibleDataObject
典型的なシナリオ。internally
サーバー ファームと複数の分散クライアントおよびローカル クライアントとの間の通信には、昔ながらの XML Web サービスを使用します。サードパーティは関与せず、自社と顧客が使用するアプリケーションのみを使用します。
XML
WS
現在、モデルへの移行を検討しWCF/object-based
ており、さまざまなアプローチを試しています。そのうちの 1 つは、ドメイン オブジェクト/集合体をワイヤ経由で直接転送し、それらの DataContract 属性を呼び出す可能性があります。
で Order プロパティを使用するIExtensibleDataObject
ことにより、単純なプロパティのバージョン管理の問題に対処できるはずです (すべてのクライアントを制御し、簡単に強制更新できることを思い出してください)。DataContract
DataMembers
DTOs
専用の転送専用のデータ転送オブジェクト ( ) をネットワーク経由で使用する必要があるとよく耳にします。
なんで?それでもそうする理由はありますか?サーバー側とクライアント側で同じドメイン モデルを使用します。もちろん、コレクションの事前入力などは、正しく「必要」と判断された場合にのみ行います。コレクション プロパティは、サービス ロケーターの原則と IoC を利用してNHibernate-based
、(サーバー側で) データを直接フェッチする"サービス" と、サーバー ファームWCF
と対話するクライアント側の "サービス" クライアントのいずれかを呼び出します。WCF
では、なぜ を使用する必要があるのDTOs
でしょうか。
c# - SOAP パケットを使用した Web サービスのデバッグ
C# で作成した Web サービスと、クライアントから提供されたテスト ハーネスがあります。残念ながら、私の Web サービスは、テスト ハーネスによって作成されたオブジェクトを解析していないようです。問題は石鹸パケットのシリアル化にあると思います。
TCPTrace を使用して、SOAP パケットを Web サービスに渡すことができましたが、リモート マシン上でのみだったので、そこでデバッグすることはできませんでした。オブジェクトを手動で作成し、Web 参照を介して Web サービスを呼び出す現在のテスト ハーネスではなく、生成された SOAP パケットを使用してローカル Web サービスを呼び出す方法はありますか?
[編集] SOAP パケットを取得したマシンは VM 上にあったため、自分のマシンにリンクできません。石鹸のパケットを貼り付けて Web サービスを呼び出すツールを探していると思います。
architecture - REST サービスと SOAP サービスのどちらを選択するかのガイド?
REST と SOAP の間で決定を下すためのドキュメントまたはガイドへのリンクを持っている人はいますか? 私はこれらの両方を理解していますが、重要な意思決定ポイント (セキュリティなど) に関する参考文献を探しています。
python - PythonでWebサービスを使用する最良の方法は何ですか?
私が制御していない.net Webサービスとして実行される中規模のアプリケーションがあり、その上に緩いpythonic APIを作成して、簡単なスクリプトを有効にしたいと考えています。
PythonでWebサービスを使用するための最良/最も実用的なソリューションは何かを知りたかった.
編集: 複雑な SOAP WS を使用する必要がありますが、それを制御することはできません。
web-services - SOAP Web サービスに必要な適切な仮想ディレクトリ アクセス許可レベルは?
Server 2003 ボックスの IIS 6.0 で SOAP Web サービスをホストするための新しい仮想ディレクトリを設定する場合、仮想ディレクトリのアクセス許可を設定する必要があります。さまざまなアクセス許可は、以下を許可/禁止します。
- 読んだ
- スクリプトの実行 (ASP など)
- 実行 (ISAPI や CGI など)
- 書く
- ブラウズ
SOAP Web サービスは、IIS マネージャーの [Web サービス拡張] ペインで拡張が "許可" に設定された SOAP3.0 ISAPI サーバーを介して公開されています。
このディレクトリの内容を Web に公開したくないので、Browseが望ましくないことはわかっています。しかし、この Web サービスを適切に公開するために、 Run scripts、Execute、およびWrite権限を有効にする必要があるかどうかはわかりません。Web サービスは、サーバーとリモート クライアントの間で XML データ セットを送受信するために使用されています。SOAP Web サービスの仮想ディレクトリに対するアクセス許可の正しいレベルはどれですか?
.net - ASP.NET で SOAP 例外から内部例外を抽出するにはどうすればよいですか?
次のような単純な Web サービス操作があります。
次に、Web サービスを使用して操作を呼び出すクライアント アプリケーションがあります。明らかに例外がスローされます:-)
私のキャッチブロックでは、実際の例外のメッセージを抽出してコードで使用したいと考えています。キャッチされた例外は aSoapException
です。これは問題ありませんが、Message
プロパティは次のようになります...
...そして、InnerException
ですnull
。
私がやりたいのは、 (私のサンプルのテキスト)のMessage
プロパティを抽出することです。誰でもそれを手伝ってもらえますか? 回避できる場合は、 のプロパティの解析を提案しないでください。InnerException
HelloWorldException
Message
SoapException
visual-studio - SOAPメッセージから「VsDebuggerCausalityData」データを削除するには?
特定のクライアントからの受信 SOAP メッセージが無効としてマークされ、XML ファイアウォール デバイスによって拒否されるという問題があります。追加のペイロード データが Visual Studio によって挿入されているようです。これらのメッセージには「VsDebuggerCausalityData」が表示されますが、問題のない別のクライアントから送信された他のメッセージには表示されません。とにかく、それは出発点です。
私が持っている質問は、クライアントがこの余分なデータを削除して、VS から実行するにはどうすればよいかということです。なぜVSはそこに入れているのですか?
ありがとう。