В настоящее время у меня есть приложение BizTalk 2006 (r1), которое получает XML из хранимой в SQL proc с использованием адаптера SQL. Он сопоставляет это с другой схемой перед отправкой третьей стороне. Порт отправки использует настраиваемый компонент конвейера, который преобразует XML в плоский файл - в формате, требуемом клиентом. Я не использую каких-либо оркестровок, это решение на основе чистого сообщения.BizTalk Отправить плоский файл для веб-службы
Все это отлично работает при отправке по FTP. Тем не менее, сторонняя сторона запросила, чтобы я нажимал сообщение на веб-службу, которую они трясли. Я еще не получил WSDL, но могу предположить, что метод, который я буду вызывать, просто получает строку как единственный параметр.
Не могли бы вы посоветовать лучший способ приблизиться к этому, пожалуйста? Я создал простую веб-заглушку. Затем я воспользовался рецептом 6-11 из отличной книги BizTalk 2006 Recipes, создав прокси-класс с использованием wsdl.exe, который затем ссылаюсь на вкладку «веб-сервис» порта отправки SOAP. Однако при обработке заказа я получаю следующее сообщение в журнале событий:
Не удалось загрузить тип «WSProxy» из сборки «Direct.IS.Payment.Components, Version = 3.1.145.0, Culture = neutral, PublicKeyToken = dc03da781bea1472 '. ". Тип должен быть получен из System.Web.Services.Protocols.SoapHttpClientProtocol. Тип должен иметь атрибут System.Web.Services.WebServiceBindingAttribute.".
Следующий шаг будет состоять в том, чтобы играть с прокси-сервером, чтобы он учитывал проблемы вывода и атрибута, упомянутые в четном сообщении журнала. Однако я не могу не думать, что должен быть более простой способ?
Благодаря
Я нашел ответ на сайте [Saravana] (http://blogs.digitaldeposit.net/SARAVANA/post/2007/01/31/Calling-Web-Service-from-BizTalk-2006-in-a-Messaging -только-от сценария (ака-Content-ориентированного Routing) .aspx) –