0

SOAP エンベロープをクライアントに渡すコードを書きました。リクエストには証明書が含まれており、ペイロードは証明書で署名されています。HttpWebRequest を使用してサーバーを正常に呼び出すテスト ハーネスを作成しました。ソースは別のプロジェクトである WCF サービスに統合されました。SoapUi を使用してサービスを呼び出し、次に HttpWebRequest を使用してクライアントを呼び出します。テスト ハーネスまたはサービスをデプロイするときは、同じサーバーの同じアプリケーション フォルダーにデプロイします。

私が知る限り、私の情報源と彼らの情報源の間に実質的な違いはありませ。ただし、コードは常に証明書エラーで失敗します:「基になる接続が閉じられました: SSL/TLS セキュア チャネルの信頼関係を確立できませんでした」。このエラーは以前に議論されていますが、最も完全な議論はここにあるようです (エラー: C# 基礎となる接続が閉じられました: SSL/TLS セキュア チャネルの信頼関係を確立できませんでした) が、カバーされているアプローチはうまくいきませんでした。

WCF サービス内から呼び出されるため、HttpWebRequest の動作は変わりますか? 次はどこを見ようか迷ってしまいます。

4

1 に答える 1

0

このエラーは、呼び出し元 (この場合はサービス) がサーバーによって使用される証明書を信頼していないことを示しています。対話型ユーザーとシステム ユーザー用に異なるトラスト ストアがあります。そのため、サービスが IIS で実行されている場合、単体テストとは異なるユーザーを使用しており、そのユーザーはシステム トラスト ストアを使用しています。必要に応じて、送信したリンクの回避策を適用するか、正しい証明書をストアに追加してください。

于 2013-08-09T18:13:32.143 に答える