Я использую веб-сервис ASMX, который использует обычную аутентификацию, требующую «Имя пользователя» и «Пароль».Я пытался добавить службу как «Справочник службы» в Visual Studio.Я получаю следующее исключение:
HTTP-запрос не авторизован со схемой аутентификации клиента «Basic».Заголовок аутентификации, полученный от сервера, был 'Basic realm = "NTADMIN"
Однако, когда я добавляю сервис в качестве веб-ссылки, аутентификация начинает работать, и я получаю ответ.
Я хочу запустить код, добавив службу как «Ссылка на службу».
Код не работает (Ссылка на службу):
WOVServicesSoapClient client = new WOVServicesSoapClient();
client.ClientCredentials.UserName.UserName = "UserNameHere";
client.ClientCredentials.UserName.Password = "PasswordHere";
var response = client.GetDocuments(documentInput);
App.config для Не работающего кода (Ссылка на службу) ::
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="IWOVServicesSoap">
<security mode="Transport">
<transport clientCredentialType="Basic" realm="NTADMIN"> </transport>
</security>
</binding>
<binding name="IWOVServicesSoap1" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https:/URLPART/WorkSite/services/IWOVServices.asmx"
binding="basicHttpBinding" bindingConfiguration="IWOVServicesSoap"
contract="WorkSite.IWOVServicesSoap" name="IWOVServicesSoap" />
</client>
</system.serviceModel>
</configuration>
Рабочий код (веб-ссылка):
IWOVServices obj = new IWOVServices();
obj.Credentials = new NetworkCredential("UserNameHere", "PasswordHere", "NTADMIN");
var response = obj.GetDocuments(documentInput);