3

注意、WCF初心者アラート

WCF以外のWebサービスをクエリするためにWCFクライアントを作成する必要があります。WebサービスはWCFサービスではありません。さらに、Webサービスにはクライアント認証証明書が必要です。これで、証明書を取得し、完全に機能する非WCFクライアントを作成できます。「Web参照の追加」ができ、証明書ダイアログボックスが開いて適切な証明書を選択できるようになり、次にWeb参照を作成しました。「サービス参照の追加」を介してWCFクライアントを作成しようとすると、別の話になりますが、403AccessDeniedエラーで失敗します。

サービスのWSDLがあり、その上でsvcutil.exeを実行しましたが、そこから続行する方法がわかりません。

助けてくれてありがとう!

4

4 に答える 4

5

使用しているサービスがクライアント SSL 認証を実行していると想定しています。

サービス参照の追加が失敗しているため、 svcutilを使用して、所有している WSDL ファイルからクライアントを生成できます。構文は次のようになると思います。

svcutil *.wsdl /l:C# /out:Reference.cs /config /s /ct:System.Collections.Generic.List`1 /ser:Auto /tcv:Version35 /n:*,<NameOfYourNamespaceHere> /edb

これにより、サービスへのプロキシ クラスを含むファイル Reference.cs が生成されます (このファイルには任意の名前を付けることができます)。このファイルをプロジェクトに追加します。構成ファイル output.config も生成されます。すべて手動で入力する代わりに、この構成をアプリケーション構成に追加できます。

これで、この MSDN の記事に従って、トランスポート セキュリティと証明書認証を使用することができます。コードと構成で証明書を要求に添付する方法を示すクライアント セクションまでスキップできます。

于 2009-08-16T06:50:05.827 に答える
5

これは古い質問であり、すでに解決されていることは承知していますが、サービス参照の追加は、ディスクに保存されている WSDL ファイルに対しても機能することに言及したいと思います。マークもそれについて言及しています。[サービス参照の追加] ダイアログは次を受け入れます。

  • WSDL への URL
  • メタデータ交換エンドポイントへの URL
  • 内部で /mex が追加されたサービス URL
  • WSDL ファイルへの任意のファイル パス

したがって、WSDL があり、すべてに XSD ファイルが必要な場合は、サービス参照の追加も使用できます。唯一の注意点は、[サービス参照の追加] ダイアログに [参照] ボタンがないことです。これが、この機能があまり知られていない理由です。

于 2010-08-21T18:05:09.903 に答える
1

ばかげた質問 (おそらく): サービス エンドポイントに接続し、証明書に格納されている資格情報を提示して、そこから WSDL (および場合によっては XSD) をダウンロードできますか? それとも、このサービスを提供しているエンティティが実際にこれらのファイルを送信できる (またはダウンロードできるようにする) ことができるのでしょうか?

ディスクに WSDL (および XSD) ファイルがあれば、それらのファイルに基づいて (svcutil.exeまたは のいずれかを使用して) そのための WCF クライアントを作成し、適切なセキュリティを構成するのは簡単です。Add Service Reference

ちょっと考えただけで.... ($0.02 の価値はありますか?)

マルク

于 2009-08-16T11:17:42.080 に答える