Сторонний поставщик предоставил мне wsdl для службы, которую они ожидают получить. Можно ли предоставить конечную точку WCF в BizTalk на основе этого существующего контракта и схем службы, не пытаясь ее реконструировать?
Создание конечной точки BizTalk WCF с существующим wsdl
Ответы (1)
Это можно сделать следующим образом:
Запуск в Visual Studio:
- В проекте, в который нужно импортировать схемы, щелкните правой кнопкой мыши и выберите Добавить созданные элементы
- Выберите "Использовать службу WCF".
- Выберите
Metadata Files (WSDL and XSD)
в мастере использования BizTalk, добавьте файлы WSDL / XSD и дайте артефактам пространство имен. - (Не удаляйте файл .odx, поскольку он содержит тип порта)
- Затем создайте свой Orch для обработки входящего сообщения, которое возвращает ответ соответствующего типа (например, см. ExposeWebService Biztalk, с использованием предоставленных поставщиком схем запроса и ответа в качестве входных и выходных данных соответственно). Используйте импортированный тип порта, чтобы сэкономить время на поиск и присвоение схем запросам и ответам. Порт также будет иметь имя (имена) операции, ожидаемые поставщиком.
- Вам необходимо собрать и развернуть свой проект в BTS.
- Затем можно использовать мастер публикации BizTalk WCF, чтобы опубликовать веб-сервис, например на вашем локальном IIS. Если вы используете прямую привязку через окно сообщения, вам не нужно создавать новый порт приема, если у вас уже есть порт приема WCF. Вы можете указать имя виртуального каталога, но обратите внимание, что BizTalk сгенерирует произвольное имя для .svc.
- Если у вас еще нет пула приложений для приема BizTalk WCF, вам необходимо создать его, используя те же учетные данные, что и для изолированного хоста BizTalk.
- Назначьте виртуальный каталог, созданный указанным выше мастером, пулу приложений.
- Убедитесь, что место приема в BizTalk запущено.
Теперь у вас должна быть возможность перейти к виртуальному корню, в котором опубликован ваш orch, добавить ссылки на службы, протестировать ваш orch и т. Д.
Поскольку у вашего поставщика интеграции уже есть WSDL, вы также можете полностью пропустить публикацию (шаги 7-9), если не хотите использовать IIS, и вместо этого заставить BizTalk прослушивать порт 80, вручную создав порт приема непосредственно в Biztalk с помощью WCF-Custom. Вам может потребоваться использовать netsh, чтобы разрешить это (если ваш BizTalk не работает с доступом администратора или аналогичным , что не рекомендуется).
person
StuartLC
schedule
31.08.2012