Какой код создан мастером публикации служб BizTalk WCF?
Мы представили схему BizTalk как службу WCF для сторонних поставщиков, чтобы они могли отправлять сообщения на наш ESB. Служба WCF имеет единственную функцию, которая принимает и возвращает сообщения этого типа схемы. Проблема заключается в том, что если ответ не был сделан своевременно или другое сообщение, например, ошибка, генерируется ESB, приложение стороннего производителя не работает или аварийно завершает работу.
На самом деле не имеет значения, что находится в сообщении, если оно находится в правильном формате и данные в возвращенном сообщении не используются продавцом или нами. Поставщик также предоставляет свою собственную службу WCF, которую мы можем использовать для передачи сообщений, если захотим. Я хотел бы изменить существующую службу WCF или вручную создать новую, которая немедленно возвращает ответ, но также передает сообщение в ESB для дальнейшей обработки.
Я создал интерфейс из WSDL с использованием svcutil, но не могу найти примеров кода того, как вручную создать службу WCF для предоставления схемы BizTalk. Все примеры указывают на мастера.
Какой код создает мастер? Есть ли пример? Спасибо.
РЕДАКТИРОВАТЬ 23/08/2013
Таким образом, может показаться, что изменение службы wcf, созданной мастером, не является опцией и не создает новую службу вручную. Я попытался создать оркестровку, которая использует службу и отправляет ответ, затем связывает его с тем же портом получения, который работает, если маршрут работает, но не запускается, если есть ошибка. Кроме того, он запускается только после завершения маршрута, что не годится. Мне нужен немедленный ответ.
1 ответ
Вы можете изменить службу wcf, созданную мастером, но, как правило, лучше использовать мастер для повторной публикации, используя приведенную ниже команду из командной строки.
BtsWcfServicePublishingWizard -WcfServiceDescription=C:\..\WcfServiceDescription.xml
Файл WcfServiceDescription.xml будет находиться в папке, в которой вы опубликовали веб-службу, в папке \App_Data\Temp\, например, C:\Inetpub\wwwroot\BizTalkWcfService\App_Data\Temp\WcfServiceDescription.xml.
Хорошая идея - сохранить копию этого XML-файла в вашем контроле исходного кода. Запускать мастер с помощью веб-службы не очень хорошая идея, так как он удаляет и заново создает все в папке, поэтому вы можете повредить его, поэтому сначала скопируйте его и запустите для копирования.