0

この質問の間違いをお許しください。安全な Web サービスや WCF についてはあまり詳しくありません。

WSE 2.0 と .Net 1.1 を使用する Web サービスを使用する必要があります。

サービスは 2 つの方法で保護されます。X509Certificate と BinarySecurityToken がヘッダーに追加されました。

Visual Studio 2003 と WSE 2.0 を使用する場合にこの Web サービスを使用する方法に関するコード サンプルがあります。

私の主な質問は、「Web 参照」または「サービス参照」を使用してこの Web サービスを使用しようとする必要があるかどうかです。

私が持っているコード サンプルでは、​​バイナリの Microsoft.Web.Services2 を使用しています。同じ機能を実行できる同等のクラス/メソッドを探しています。

私が置き換えようとしているコードの 2 つの重要な行は次のとおりです。

webService.ClientCertificates.Add(X509Certificate.CreateFromFile(fileName));

SoapContext context = webService.RequestSoapContext;
context.Security.Tokens.Add(binarySecurityToken);

どのクラスを見るべきか、またはこれをさらに理解するのに役立つ役立つ記事について、誰かが私に情報を提供してくれますか?

編集:これに追加するために、代替手段を見つけるのに苦労している方法は次のとおりです。

webService.RequestSoapContext;

セキュリティトークンを作成する際にさまざまな代替クラス/メソッドを見つけましたが、RequestSoapContext がないと、それらをどこに追加すればよいかわかりません。

4

1 に答える 1

1

クライアントに WCF を使用する場合は、[サービス参照の追加] を使用する必要があります。Web 参照の追加を使用する場合、ASMX サービスに対してのみ機能します。WSE 拡張機能は VS 2008 ではサポートされていないため、UI から WSE プロキシを作成することはできませんが、それらをインストールすると、いくつかのコマンド ライン ツールが用意され、.NET 3.5 プロジェクトで引き続き使用できるようになります。

WSE サービスの同等の WCF バインディングについて議論する必要がある場合は、詳細情報を提供する必要があります。WSE サービスのポリシーを設定する構成 (コードまたは構成) が必要です。

WCF <-> WSE 3.0 の相互運用性に関連する次の 2 つの記事も確認できます: Migrating WSE 3.0Interoperability with WSE 3.0

于 2010-08-31T09:32:33.190 に答える