Использование не asmx SOAP 1.1 веб-службы в C # с Header Security - PullRequest
0 голосов
/ 30 сентября 2011

Первый постер, поэтому, пожалуйста, будьте осторожны, если я нарушу какие-либо правила публикации - я прочитал их и думаю, что прав.

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

Мне нужно написать программу на C # .NET 3.5, чтобы использовать веб-сервис, разработанный на Java.У меня есть практика использования веб-сервисов ASMX в .NET с использованием веб-ссылок из моего опыта написания плагинов и программного обеспечения Dynamics CRM, но это поставило меня в тупик.

Моя первая попытка состояла в использовании веб-ссылки (да, я знаю - нетWCF) однако для веб-службы требуется PasswordDigest (SHA-1 с nonce и созданным), токен имени пользователя и токен отметки времени в заголовке SOAP, и я не смог найти способ добавить их в заголовок SOAP с помощью веб-ссылки.

Моя вторая попытка состояла в том, чтобы использовать Справочник услуг (я полагаю, но я, вероятно, ошибаюсь, ха-ха, что this - WCF), однако у меня нет особой практики с этим и любыми учебниками, которые янайти в Интернете не особо помогли.

Каждый раз, когда я пытаюсь использовать WS, я получаю отказ от сервера за невозможность аутентификации.

У меня вопрос, как мне потреблятьВеб-сервис с этими требованиями в C # .NET 3.5?

Спасибо.

1 Ответ

2 голосов
/ 30 сентября 2011

IIRC, в Microsoft WSE (2.0 или 3.0) было что-то под названием UsernameToken, которое нужно вставить где-нибудь в исходящем сообщении SOAP, и все готово. Конечно, этот ответ оставляет желать лучшего, поэтому я дам вам пару ссылок и надеюсь, что вы пройдете через:

http://www.codeproject.com/KB/webservices/WS-Security.aspx

http://www.reliablesoftware.com/articles/WSESecurity.html

http://www.devx.com/security/Article/15634

(И все это еще раз показывает, насколько на самом деле несовершенны SOAP и WSDL).

...