Как добавить wsse: Security в веб-ссылку, сгенерированную Visual Studio? - PullRequest
4 голосов
/ 11 августа 2011

Я использовал Visual Studio 2010 (wsdl.exe, который, как мне кажется, используется для этого) для создания .NET 2.0-совместимой веб-ссылки на основе WSDL ( не клиент WCF). Когда я использую прокси для вызова метода службы, я получаю следующее исключение:

Обнаружена ошибка при обработке заголовка

В подробностях исключения указан код InvalidSecurity .

Я проверил документацию для веб-службы, и она определяет использование элемента wsse: Security в заголовке SOAP.

<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
  <wsse:UsernameToken>
    <wsse:Username>Username</wsse:Username>
    <wsse:Password>Password</wsse:Password>
  </wsse:UsernameToken>
</wsse:Security>

Я попробовал следующий код, чтобы добавить имя пользователя и пароль перед вызовом метода:

service.Credentials = new NetworkCredential («Имя пользователя», «Пароль»);

Но это не помогает. Используя Fiddler2, я вижу, что сервисный вызов никогда не передается по проводам.

Мой вопрос: что я могу сделать в своем коде, чтобы удовлетворить требования для вызова службы с помощью элементов wsse: Security?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...