Всем привет!
Я пытаюсь вызвать WebService из приложения для КПК. Использую Compact Framework 2. Проблема в том, что сервис требует
аутентификацию и я не могу ее выполнить.
Я попытался использовать следующий код:
service.Credentials = new NetworkCredential(tbUsername.Text,tbPassword.Text);
service.PreAuthenticate = true;
Но это не сработало.
В документации по этому сервису написано, что для аутентификации SOAP header должен выглядеть следующим образом:
<SOAP-ENV:Header>
<wsse:Security
xmlns:wsse="
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecuri
ty-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password>password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</SOAP-ENV:Header>
Также там приведен демонстрационый проект, использующий этот сервис, но он работает в NET Framework 1.1 с
Web Service Enhancements 2.0. Насколько я понял в для Compact Framework нет Web Service Enhancements.
В библиотеке opennetcf.org есть класы для работы с Веб сервисами, только непонятно как их использовать и помогут ли они в моем
случае.
Можно ли каким-то способом перехватить SOAP запрос перед тем как он отсылается на сервер и в этот момент модифицировать его
для добавления полей аутентификации?
Посоветуйте что-нибудь, пожалуйста. Заранее спасибо.