2

REST サービスで基本的な HTTP 認証を使用しようとしていますが、プロキシをデバッグすると、認証ヘッダーがまったく送信されず、無視されます。これが私のコードです:

     WebChannelFactory<IMyService> factory = new WebChannelFactory<IMyService>(
        new WebHttpBinding(),
        new Uri("http://10.6.90.45:8081"));
     WebHttpBinding http = (WebHttpBinding) factory.Endpoint.Binding;
     http.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
     http.Security.Mode = WebHttpSecurityMode.TransportCredentialOnly;

     factory.Credentials.UserName.UserName = "username";
     factory.Credentials.UserName.Password = "password";

ImyService proxy = factory.createchannel();

proxy.SomeMethod();

...

HTTP 要求は、クライアント認証方式「基本」では許可されていません。サーバーから受信した認証ヘッダーは '' でした。

サーバー スタック トレース: System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest 要求、HttpWebResponse 応答、WebException responseException、HttpChannelFactory ファクトリ) で System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest 要求、HttpWebResponse 応答、HttpChannelFactory ファクトリ、WebException 応答例外、 System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan タイムアウト) で System.ServiceModel.Channels.RequestChannel.Request(メッセージ メッセージ、TimeSpan タイムアウト) で System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway,ProxyOperationRuntime 操作、Object[] ins、Object[] outs、TimeSpan タイムアウト) System.ServiceModel.Channels.ServiceChannel.Call(String アクション、Boolean oneway、ProxyOperationRuntime 操作、Object[] ins、Object[] outs) at System.ServiceModel System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage メッセージ) での .Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall、ProxyOperationRuntime 操作)Invoke(IMessageメッセージ)Invoke(IMessageメッセージ)

[0] で例外が再スローされました: System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) で System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 タイプ) ...

4

0 に答える 0