2012-04-24 2 views
1

Поставщик сторонних организаций опубликовал веб-сервис, который нам необходимо использовать.Использование адаптера BizTalk WCF-WSHttp для использования веб-службы с WS-Security по HTTP

Это веб-сервис SOAP, который также ожидает WS-Addressing и WS-Security элементов в заголовке.

Я полагаю, что это использование веб-службы должно быть возможно с использованием адаптера WCF-WSHttp в BizTalk 2009. Однако я новичок в WCF и WS-Security, поэтому немного борюсь.

Я попытался настроить адаптер посыла со следующими параметрами:

  • Режим безопасности: Транспорт
  • Тип транспорта Реквизит клиента: Сертификат
  • клиента сертификат Отпечаток: [выбрано]

Первая проблема, с которой я столкнулся, заключается в том, что whe n используя эту конфигурацию безопасности, BizTalk заставляет меня указывать конечную точку HTTPS, а сторонняя веб-служба - через HTTP.

Это BizTalk ошибка дает мне, если я пытаюсь указать HTTP конечную точку:

enter image description here

Является ли это ограничение BizTalk, или фундаментальная проблема с тем, как поставщик выставил их веб-сервис ?

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

ответ

2

Чтобы заставить BizTalk принять привязку, настройте ее с адресом https: // ..., а затем измените адрес в файле привязки и повторно импортируйте привязку.

Если BizTalk разрешает это (т. Е. Это только ограничение диалога WCF), вы будете в состоянии фактически использовать сервис и протестировать его.

+0

Хитрость идеи ... пытаюсь это сейчас –

+0

Это позволила мне импортировать измененные привязки, но на тестирование сообщения было приостановлена ​​с тем же сообщением об ошибке: 'System.ArgumentException: Предоставленные схемы URI«HTTP ' является недействительным; ожидаемый «https». «Таким образом BizTalk не допустит этого. Однако это правильный сценарий? Может быть, я должен изменить свой вопрос. –

+0

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

1

Режим безопасности: требуется транспортный https. Это концепция WCf и не работает с любыми другими настройками.

+0

Это должно быть в комментарии. – Romesh

0

Если вы столкнулись с этой проблемой, убедитесь, что раскрывающийся список «Режим безопасности» со вкладки «Безопасность» установлен правильно.

enter image description here

+0

Это решило мою проблему в BizTalk 2013 с помощью порта отправки WCF-BasicHttp!Режим безопасности «Нет» требует схемы http, в то время как «Транспорт» требует https. – Kristoffer

+0

Отлично, пожалуйста, нажмите стрелку вверх! –

+1

Я сделал! Нечестно, что правильный ответ (по крайней мере для меня) был -1. – Kristoffer