Я разработал WCF сервис с пользовательским UserNamePasswordValidator
с basicHttpBinding
с использованием HTTPS. Он отлично работает с клиентом .Net, используя ClientCredentials для отправки имени пользователя и пароля для аутентификации.
Однако мне нужно вызвать это из клиента Delphi XE. Как мне отправить эквивалент .Net ClientCredentials, используя Delphi? Возможно ли это? Если да, то как? Если нет, есть ли альтернативы?
Tks
EDIT
Ниже приведен мой код на стороне клиента в .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();
}
EDIT
Я провел некоторое исследование, и мне удалось сделать аутентификацию между Delphi и старыми веб-сервисами asmx, используя SOAP Hearders. Я нашел статью ниже. Смогу ли я добиться такого же поведения старого [WebMethod][System.Web.Services.Protocols.SoapHeader("SoapHeader")]
используя технику статьи?
EDIT BOUNTY
Получение отмечено как правильный ответ, я хотел бы иметь возможность вызвать веб-сервис из Delphi, используя WCF Service UserNamePasswordValidator
на стороне сервера.