Я использую NSIS для сборки установщика и как часть этого установщика, я получаю детали для службы WCF (например, URL, имя пользователя и пароль). Мне нужно проверить эти данные.
В С# я создаю ссылку на службу и просто делаю следующее:
var proxy = new ServiceClient(httpsBinding, serviceEndpointAddress);
proxy.ClientCredentials.UserName.UserName = userName;
proxy.ClientCredentials.UserName.Password = password;
try
{
proxy.Open();
}
catch (EndpointNotFoundException ex)
{
// Return the end point not valid
}
etc
Теперь мне нужно сделать это на С++, чтобы его можно было вызвать из NSIS (я исследовал методы вызова С# из NSIS, и все они кажутся чрезмерными для того, что я хочу сделать). Мне удалось преобразовать код, который генерирует привязку и адрес конечной точки, но я застрял на создании ServiceClient
.
Я добавил в проект "Веб-ссылку", но там нет эквивалента ServiceClient
в пространстве имен ServiceReference
. Это:
ServiceReference::ServiceClient ^service = gcnew ServiceReference::ServiceClient(httpsBinding, endpointAddress);
не компилируется как:
"ServiceClient": не является членом "ServiceReference"
Итак, как мне создать клиент?