Я разработал службу WCF с пользовательским UserNamePasswordValidator
с basicHttpBinding
с использованием HTTPS. Он отлично работает с клиентом .Net, используя ClientCredentials для отправки имени пользователя и пароля для аутентификации.
Однако мне нужно вызвать это из клиента Delphi XE. Как отправить эквивалент .Net ClientCredentials с помощью Delphi? Это возможно? Если да, то как? Если нет, есть ли альтернативы?
Tks
ИЗМЕНИТЬ
Ниже мой код на стороне клиента в .Net:
EndpointAddress oTransac = new EndpointAddress(GetAddress());
using (WebServiceClient oClient = new WebServiceClient ("httpbasic", oTransac))
{
oClient.ClientCredentials.UserName.UserName = "username";
oClient.ClientCredentials.UserName.Password = "password";
oClient.DoStuff();
}
ИЗМЕНИТЬ
Я провел некоторое исследование, и мне удалось выполнить аутентификацию между Delphi и старыми веб-службами asmx с помощью SOAP Hearders. Я нашел статью ниже. Смогу ли я добиться того же поведения старого [WebMethod] [System.Web.Services.Protocols.SoapHeader("SoapHeader")]
, используя технику статьи?
ИЗМЕНИТЬ НАГРАД
Получение помечено как правильный ответ щедрости, я хотел бы иметь возможность вызывать веб-службу из Delphi, используя службу WCF UserNamePasswordValidator
на стороне сервера.