Windows認証を持つ外部サービスを呼び出そうとしていますが、IISで動作しているWindows開発マシンから正常に動作しますが、一度サイトをAzureに公開すると、たとえ構成が同じであってもサービスです。私は戻って取得エラー、それはアズールでそれも認証をしようとしていないように感じているAzureでWCF設定/認証が機能しない
System.ServiceModel.Security.MessageSecurityException:
The HTTP request is unauthorized with client authentication scheme 'Negotiate'.
The authentication header received from the server was 'Negotiate'. --->
System.Net.WebException: The remote server returned an error: (401) Unauthorized.
。あなたが設定されている場合
サービスの構成は次のようになり、
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="Custom_Binding" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferPoolSize="524288" receiveTimeout="00:20:00" sendTimeout="00:20:00">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://www.otherdomain.com/webServiceRequest" binding="basicHttpBinding" bindingConfiguration="Custom_Binding" contract="webServiceRequest_Port" name="webServiceRequest_Port" />
</client>
</system.serviceModel>
これは、要求を行うC#コードで、
var client = new webServiceRequest_PortClient();
client.ClientCredentials.UserName.UserName = "domain\Username";
client.ClientCredentials.UserName.Password = "Password";
var response = await client.PerformServiceAsync(method, request);
/ヴィクトル
ありがとうございました。これは解決策の一部であり、私の側にはパスワードとユーザー名に関するいくつかの設定上の問題もありました。それは何らかの理由でClientCredentialsを実行したがWindowsでは実行しなかったときに働いた。 –