#web-services #wsse
#веб-службы #wsse
Вопрос:
Надеюсь, кто-нибудь сможет мне помочь.
Я пытаюсь вызвать эту веб-службу
https://link.hertz.com/AuthenticationWebservice/authenticateAdmin?wsdl
Мне сказали, что мне нужно передать следующую информацию для аутентификации с помощью веб-службы:
username => "webServiceUserName"
password => "webServicePassword"
WSS-Password Type => "PasswordDigest"
Я использую asp.net приложение 4.0 и не могу понять, как передать тип WSS-пароля для моего вызова веб-службы.
Я добавил этот URL-адрес службы в качестве ссылки на службу в моем asp.net приложение, и я использую следующий код в своем asp.net страница:
service1.AuthenticateAdminClient myClient = new service1.AuthenticateAdminClient();
myClient.ClientCredentials.UserName.UserName = "webServiceUserName";
wsClient.ClientCredentials.UserName.Password = "webServicePassword";
myClient.authenticateAdminCredentials(myUserName, myPassword, myDomain);
заранее спасибо,
Хари
Ответ №1:
Мы использовали этот пример, и он работает для нас. Мы только что изменили его на «универсальность» в SecurityHeader:
if (PasswordType == PasswordType.Digest)
{
writer.WriteAttributeString("Type", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordDigest");
writer.WriteString(ComputePasswordDigest(SystemPassword, nonce, created));
}
else if (PasswordType == PasswordType.Text)
{
writer.WriteAttributeString("Type", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText");
writer.WriteString(SystemPassword);
}
Комментарии:
1. привет, прежде всего, спасибо за ответ. Я внес изменения в свой код, чтобы включить ваше предложение; но я получаю исключение: <br><br> Была обнаружена ошибка при обработке заголовка <wsse:Security>. <br> Не уверен, что теперь делать?