Пытаюсь выполнить подключение к WCF сервису через прокси. На прокси настроена авторизация по логину-паролю.
Следующий код приводит к ошибке:
var proxyHost = "http://127.0.0.1:3128/";
var proxyUserName = "username";
var proxyUserPassword = "userpassword";
var apiConnectAddress = "https://remoteaddress/service.svc";
var binding = new BasicHttpBinding
{
UseDefaultWebProxy = false,
ProxyAddress = new Uri(proxyHost)
Security =
{
Mode = BasicHttpSecurityMode.Transport,
Transport =
{
ClientCredentialType = HttpClientCredentialType.Basic,
ProxyCredentialType = HttpProxyCredentialType.Basic
}
}
};
var client = new Client(binding, new EndpointAddress(apiConnectAddress));
client.ClientCredentials.UserName.UserName = proxyUserName;
client.ClientCredentials.UserName.Password = proxyUserPassword;
client.SomeMethod(...); // здесь возникает исключение
class Client : System.ServiceModel.ClientBase<T> { ... }
Информация об исключении:
System.ServiceModel.ProtocolException
HResult=0x80131500
Message=The remote server returned an unexpected response: (407) Proxy
Authentication Required.
Source=System.Private.ServiceModel
StackTrace:
at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
at System.ServiceModel.Channels.ServiceChannelProxy.TaskCreator.<>c__DisplayClass1_0.<CreateGenericTask>b__0(IAsyncResult asyncResult)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
Насколько я понимаю, проблема заключается в том, что прокси-серверу не передаются логин и пароль, установленные для клиента. Как выполнить настройку HttpBinding, чтобы успешно подключиться к сервису через прокси?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Необходимо создать таблицу, которая будет иметь следующую шапку, желательно использовать MVVM
Есть служба Windows, которая является хостом для WCF-службыПри инициализации службы Windows подписываюсь на событие
Мне необходимо приложение "WinForm" для переписки в viber"Webhook" планируется для получения данных(событий) из viber, далее полученные данные будут использоваться...