問題タブ [ws-addressing]
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.
wcf - 標準をサポートするバインディングを使用して、WCF で署名および/または暗号化する必要があるヘッダーの部分を指定します。
Ws2007HttpBinding を使用してサービスを保護すると、生成された WSDL ファイルのポリシー セクションで、すべての ws-addressing ヘッダーと本文が署名され、本文が暗号化されることが示されます。
Apache の城壁で可能なように、どのヘッダーを署名および/または暗号化する必要があるかを指定したいと考えています。カスタム ヘッダーまたはボディ要素の場合、コードで注釈を使用することは可能ですが、バインディング自体によって追加されるこれらの要素の場合は可能ですか?
terminology - WS アドレッシング
WSアドレッシングとは?
ありがとうセカール
wcf - WCF を使用して WS アドレッシングを実装するにはどうすればよいですか?
WCF を使用して WS アドレッシングを実装するにはどうすればよいですか?
wcf - WS Addressing を使用した非同期 Web サービス
メソッドの引数に基づいて長時間実行されるプロセスを実行する、WCF WS Addressing 対応の Web サービスを実装する必要があります。
結果はデータベース テーブルに直接配信されるため、クライアントは結果を待つ必要はありません。ただし、Web メソッドは「追跡 ID」番号 (実際には GUID) を返す必要があるため、クライアントはそれを使用してデータベースから結果を取得できます。
- Web メソッドは、受け取った引数を受け取り、新しい GUID を作成し、このすべての情報をデータベース テーブル (または MSMQ キュー) などに格納します。次に、追跡 GUID をクライアントに返します。外部サービス (おそらく Windows サービス) は常に「受信トレイ」をポーリングし、各要求に対して長時間実行されるプロセスを実行し、コールバック サービスへの結果と応答を生成します。
前もって感謝します
セカール
wcf - ファイアウォールを介した WCF wsHttpBinding の興味深い問題
インターネット ホスティング プロバイダーにデプロイされた Web アプリケーションがあります。この Web アプリケーションは、会社のアプリケーション サーバーにある IIS サーバーに展開された WCF サービスを使用します。会社のデータベースにデータ アクセスするために、ネットワーク担当者は、セキュリティ上の理由から、ファイアウォールを介してこの WCF サービスを公開することを許可しました。ダイアグラムは次のようになります。
[ホストされたページ] ---> (インターネット) ---> |ファイアウォール
<Public IP>:<Port-X >
| ---> [IIS と WCF サービス<Comp. Network Ip>:<Port-Y>
]
また、wsHttpBinding を使用して、そのセキュリティ機能を利用し、重要な情報を暗号化したいと考えていました。
試してみると、次のエラーが表示されます。
例外の詳細: System.ServiceModel.EndpointNotFoundException: To 'http://:/service/WCFService.svc' を含むメッセージは、EndpointDispatcher での AddressFilter の不一致により、受信側で処理できません。送信者と受信者の EndpointAddresses が一致していることを確認してください。
調査の結果、wsHttpBinding が WS-Addressing 標準を使用していることがわかりました。この標準について読んで、SOAP ヘッダーが拡張され、「MessageID」、「ReplyTo」、「Action」、「To」などのタグが含まれていることがわかりました。
クライアント アプリケーションのエンドポイントがファイアウォールの IP アドレスとポートを指定し、サービスがファイアウォールの IP とは異なる内部ネットワーク アドレスで応答するため、WS-Addressing が上記のメッセージを送信すると推測しています。これは非常に優れたセキュリティ対策だと思いますが、私のシナリオではあまり役に立ちません。
WS-Addressing 標準提出の引用 ( http://www.w3.org/Submission/ws-addressing/ )
「現在広く使用されているさまざまなネットワーク技術 (NAT、DHCP、ファイアウォールなど) のため、多くの展開では、特定のエンドポイントに意味のあるグローバル URI を割り当てることができません。これらの「匿名」エンドポイントがメッセージ交換パターンを開始できるようにするには、 WS-Addressing は、安定した解決可能な URI を持つことができないエンドポイントで使用する次の既知の URI を定義します。 http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous "
ファイアウォールの IP アドレスを指定し、SOAP メッセージ ヘッダーの「To」WS-Addressing タグで指定されたアドレスを無視またはバイパスするように wsHttpBinding エンドポイントを構成するにはどうすればよいですか? または、サービス エンドポイント構成で何かを変更する必要がありますか?
ヘルプとガイダンスをいただければ幸いです。
マルコ。
PS:これに対する解決策を見つけましたが、basicHttpBindingを使用していますが、もちろん問題はありません。
soap - gsoap - SOAP ヘッダーの WS-Addressing 要素
Soap ヘッダーに WS Addressing を追加する必要があります (gsoap フレームワークを使用しています)。それを自動的に追加する方法はありますか?gsoap のドキュメントを調べましたが、それに関する情報は見つかりませんでした。そのため、以下に示すように、SOAP_ENV_Header に WS-Addressing を手動で追加しました。
しかし、wsdl/xsd ファイルから自動生成される他の構造体を Soap ヘッダーに追加する必要があるため、自動的に生成したいと考えています。
ありがとう
java - Axis2クライアントでWS-Addressingを適切に使用するにはどうすればよいですか?
すべて、Axis2.1.5でWebサービスクライアントを呼び出すJUnitテストを作成しようとしていますが、WS-Addressingを使用するように正確に設定する方法について混乱しています。
wsdl2javaを使用してクライアントスタブを生成し、axis2バイナリディストリビューションのaxis2.xmlとモジュールリポジトリを使用しています。
私はWS-AddressingのMemberSubmissionバージョンを使用する必要があることを知っており、 (オプションを使用して)正しく設定されていると思いますが、ヘッダーが正しく生成されていないようです。(SOAPMonitorモジュールがどのように機能するかがわからないため、「そうです」と言います。そのためのヒントも歓迎します!)
ただし、私の主な混乱は、アドレス指定モジュールを「エンゲージ」するために正確に何が必要かということです。アドレス指定モジュールへの参照を持つaxis2.xmlファイルを使用してConfigurationContextを設定するだけで十分ですか?このような?:
上記のように設定したオプションを使用すると、ログファイルでモジュールがaxis2.xmlからロードされていることがわかります。
しかし、アドレス指定ヘッダーを取得していないと思います。この時点でサーバーから返されるエラーは次のとおりです。
ヘッダー http://schemas.xmlsoap.org/ws/2004/08/addressing: 最終的な受信者に対するアクションが必要ですが、メッセージには含まれていません。
そのため、「魅力的な」モジュールを参照しているドキュメントもいくつか見ました。この行をコードに追加し、アドレス指定-1.5.1.marをクラスパスに追加しようとすると、次のようになります。
次のようなエラーが発生します。
モジュールをエンゲージできません:org.apache.axis2.AxisFaultにアドレス指定しています:モジュールをエンゲージできません:org.apache.axis2.client.ServiceClient.engageModule(ServiceClient.java:358)のsoapmonitor
ただし、ログには他の情報やスタックトレースはありません。そのため、混乱しています。
私が間違っていることについて何か考えはありますか?
.net - サービスメソッドのURIを制御するにはどうすればよいですか?
XMLメッセージをCGIスクリプトに送信するWCFクライアントを作成しようとしています。スクリプトは要求/応答パターンで機能し、XMLメッセージの内容が呼び出すアクションを決定します。
まず、CGIスクリプトが受け入れる定義済みのドキュメントセットを表すサービスコントラクトを作成します。
このインターフェイスからプロキシクライアントを生成し、CGIスクリプトへのアドレスを使用してエンドポイントを構成し、HTTPトランスポートを使用しました。
要求が行われると、WCFランタイムのデフォルトの動作は、URIを作成するためにエンドポイントアドレスに操作名を追加することhttp://server/script.cgi/request1
です。
URIを変更せずにすべてのリクエストがエンドポイントアドレスに送信されるように、この動作を変更するにはどうすればよいhttp://server/script.cgi
ですか(例)。
wcf - 複数の保護レベルはWCFでは機能しません
WCFのセキュリティ部分で問題が発生しています。
問題は次のとおりです。メッセージペイロードに対して部分暗号化が機能していません。MessageContract属性とMessageBodyMember属性でProtectionLevelを変更すると、ペイロードが完全に暗号化されるか、ペイロード全体が暗号化されないままになります。
つまり、部分的な暗号化は機能しません。ペイロードのルートタグ(メッセージ本文要素)を暗号化せず、残り、つまりルートタグの子要素を暗号化する必要があります。この動作は、サーバーでのSpringWebサービスのエンポイントマッピングに必要です。
これは、Javaで開発されたWebサービス(Spring WSで開発された最初のWebサービスを契約)のDotNetクライアントプログラムです。セキュリティのために相互証明書を使用します。
messageSecurityVersion、WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10のカスタムバインディングを使用しています。
このバインディングのWS-Addressingサポートに関連しているかどうかはわかりません。
これが私のapp.configです
これがsvcutilによって生成されたプロキシクラス(関連する部分のみ)です
予想されるSOAPリクエスト
上記のSOAPメッセージでは、本文内でgetActualInvoiceOutputRequestの内容を暗号化する必要があり、getActualInvoiceOutputRequestを暗号化したくありません。現在、全身のコンテンツは暗号化されています。
次のMSDNWebページ http://msdn.microsoft.com/en-us/library/aa347692.aspxに記載されているガイドラインに従いました。
WS-AddressingDependencyについて警告します。[たとえば、BasicHttpBindingクラスは仕様をサポートしていないか、WS-Addressingをサポートしないカスタムバインディングを作成した場合]というステートメントがあります。
その領域、カスタムバインディングのWS-Addressingサポートが疑われます。誰かがこれを助けることができますか?
ありがとう、Shameer