В BizTalk 2013 R2, как создать схему ответа веб-API, поскольку мне нужен этот ответ в оркестровке BizTalk для обновления некоторых таблиц в базе данных.

В BizTalk 2013 R2 я хочу отправить запрос/строку POST JSON в веб-API. Я использовал Http-адаптер WCF-Web и конвейер декодера/кодировщика JSON для создания запроса JSON. Но я не могу найти, как создать схему ответа, так как мне нужен этот ответ в оркестровке BizTalk для обновления некоторых таблиц в базе данных. Кто-нибудь работал над ним?


person Sheetal    schedule 06.02.2016    source источник
comment
пожалуйста, запишите, что вы уже пробовали (stackoverflow.com/help/how-to-ask)   -  person bibi    schedule 06.02.2016
comment
@bibi - у меня есть файл json, поэтому я создал схему с помощью мастера json в biztalk 2013 r2, создал конвейер отправки и использовал кодировщик json перед отправкой запроса, создал оркестровку для отправки запроса в веб-API, развернул приложение и создал порт отправки, используя Адаптер wcf-webhttp, настроенный URL-адрес, упомянутый глагол POST, упомянутый тип контента как appication/json. Когда я запускаю приложение, я получаю сообщение об ошибке: проверьте спецификацию схемы документа. API отправляет некоторый код состояния, как я получаю его в схеме, так как мне нужен этот код ответа и сообщение для дальнейшей обработки.   -  person Sheetal    schedule 06.02.2016
comment
Пожалуйста, добавьте дополнительные сведения к вопросу, используя ссылку редактирования под вопросом, а не в комментариях. Для начала вы, вероятно, захотите настроить свой конвейер приема так, чтобы вы могли захватить ответное сообщение для расследования. Добавьте и это к вопросу   -  person Dijkgraaf    schedule 08.02.2016
comment
Вариант 1. Добавьте (файл) sendport с заполнителем, который получает ответ от порта вашего веб-сервиса (используйте идентификатор sendport для соответствия). Это приведет к сбросу ответов веб-службы «как есть» и позволит провести дополнительную отладку. Вариант 2. Запустите fiddler (или что-то подобное) и просмотрите HTTP-трафик между веб-службой и biztalk.   -  person Marvin Smit    schedule 08.02.2016
comment
Является ли ваш порт отправки портом ответа на запрос? Какие компоненты конвейера у вас есть на входе? Относительно кода состояния HTTP см. эту статью social.technet.microsoft.com/wiki/contents/articles/ Однако это действительно должен быть отдельный вопрос   -  person Dijkgraaf    schedule 18.02.2016


Ответы (1)


Как указано в комментариях.

  1. Захватите ответ JSON, предварительно установив для входящего конвейера параметр PassThru.
  2. Подпишитесь на порт отправки на ответ на порту отправки и запишите его в файл
  3. Используйте мастер JSON для создания схемы из файла ответов.
  4. Разверните схему ответа в BizTalk
  5. Измените входящий конвейер на пользовательский конвейер с помощью декодера JSON.

Чтобы получить статус HTTP из службы REST, см. эту статью BizTalk Server: обработка ошибок служб REST. Это включает в себя создание пользовательского поведения службы для захвата состояния HTTP и внедрения его в свойство контекста сообщения.

person Dijkgraaf    schedule 18.02.2016