生成されたサービス クライアントには、サービス エンドポイントとプロキシ関連のバインディング設定の両方が存在する場合があります。まず、どのアドレスがどの役割に属するかを特定します。SOAP サービスは引き続き宛先であり、ProxyAddress は仲介者を指定します。

BasicHttpBinding では、UseDefaultWebProxy が自動構成されたプロキシ動作を選択し、既定値は true です。Microsoft のコントラクトは、この true 値を null 以外の明示的な ProxyAddress と組み合わせることをサポートしていません。両方を割り当てて一方が暗黙に優先されると想定するのではなく、選択を一貫させてください。許可された未認証のパブリック プロキシ経路で公開されている SOAP サービスでは、HTTP プロキシ リストが ProxyAddress の候補アドレスを提供します。別のエンドポイントのプロキシ資格情報は保持しないでください。

エンドポイントが実際に使用するバインディングを確認する

ヘルパーが正しいバインディングを構築しても、生成されたクライアントが別の構成済みエンドポイントを使い続けることがあります。失敗した呼び出しに割り当てられたバインディングを調べてください。クライアントが一度も選択しなかった構成エントリを変更しても、その経路には影響しません。

次に、プロキシ資格情報の種類とサービス資格情報の種類を区別します。SOAP サービスが要求するパスワードは、自動的に選択されたネットワーク仲介者のアカウントではありません。

トランスポート セキュリティ モードも別の判断です。古い回答が示唆するという理由だけで資格情報のみのモードに切り替えると、トランスポートの前提が変わります。経路やアカウントが正しいことを証明するものではありません。意図した宛先の TLS を維持し、展開された WCF クライアントとプロキシがサポートする認証構成を使用してください。

有用な診断では、サービス エンドポイント、選択されたプロキシ ソース、バインディング インスタンス、最初の応答段階を特定します。これにより 407 を絞り込みながら、生成されたサービス クライアントを無関係な構成の推測の集まりに変えることはありません。

関連記事