Использование защищенного веб-сервиса WSE2.0 / .Net 1.1 с использованием .Net 3.5 и VS 2008 - PullRequest
0 голосов
/ 31 августа 2010

Пожалуйста, прости любые ошибки в этом вопросе. Я не слишком знаком с безопасными веб-сервисами или WCF.

Мне нужно использовать веб-сервис, который использует WSE 2.0 и .Net 1.1.

Услуга защищена двумя способами. Сертификат X509 и BinarySecurityToken добавлены в заголовок.

У меня есть примеры кода о том, как использовать этот веб-сервис при использовании Visual Studio 2003 и WSE 2.0.

Мой главный вопрос: должен ли я пытаться использовать эту веб-службу, используя «веб-ссылку» или «ссылку на службу»?

Образцы кода, которые у меня есть, используют двоичный файл Microsoft.Web.Services2. Я ищу эквивалентные классы / методы, которые позволят мне выполнять те же функции.

Две ключевые строки кода, которые я собираюсь заменить:

webService.ClientCertificates.Add(X509Certificate.CreateFromFile(fileName));

и

SoapContext context = webService.RequestSoapContext;
context.Security.Tokens.Add(binarySecurityToken);

Может ли кто-нибудь предоставить мне некоторую информацию о том, какие классы мне следует посетить, или какие-нибудь полезные статьи, которые помогут мне понять это дальше?

РЕДАКТИРОВАТЬ: Чтобы добавить к этому, я пытаюсь найти альтернативу:

webService.RequestSoapContext;

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

1 Ответ

1 голос
/ 31 августа 2010

Если вы хотите использовать WCF для своего клиента, вы должны использовать Добавить ссылку на услугу. Если вы используете Добавить веб-ссылку, работает только для служб ASMX. Я предполагаю, что расширения WSE не поддерживаются в VS 2008, поэтому вы не можете создавать WSE-прокси из пользовательского интерфейса, но если вы установите их, у вас будут некоторые инструменты командной строки, и вы все равно сможете использовать их в проекте .NET 3.5.

Если вам нужно обсудить эквивалентную привязку WCF для службы WSE, вам нужно будет предоставить больше информации - должна быть некоторая конфигурация (в коде или в конфигурации), задающая некоторую политику для службы WSE.

Вы также можете проверить эти две статьи, связанные с совместимостью WCF <-> WSE 3.0: Миграция WSE 3.0 , Совместимость с WSE 3.0 .

...