メタデータにアクセスできてサービスを呼び出すことができない理由は、おそらくデフォルト構成で WsHttpBinding を使用しているためです。サービスメタデータではなく、サービスの使用にのみ関与するメッセージセキュリティを使用します。Windows 資格情報と Windows セキュリティを使用して、メッセージの暗号化と署名を行います。Windows のセキュリティのため、クライアントとサーバーの両方が同じドメインにある場合にのみ機能します。
クライアントはドメインの一部ではありません。メッセージ セキュリティまたはトランスポート セキュリティのいずれかを使用して Windows 資格情報を送信できます。メッセージ セキュリティの場合はclientCredentialType="UserName"
、デフォルトのパスワード バリデータを使用する必要があり、サービス動作で X509 証明書を構成して、暗号化と署名をサポートする必要があります。トランスポート セキュリティの場合、HTTPS (http.sys/IIS で構成された X509 証明書) を使用するか、HTTP 経由で WindowsTransportCredentialOnly
ユーザー名とパスワードをプレーン テキストとして送信するモードを使用します (これは悪い解決策です)。トランスポート セキュリティ セットの場合clientCredentialType="Basic"
。