В BizTalk 2013 R2 я хочу отправить запрос/строку POST JSON в веб-API. Я использовал Http-адаптер WCF-Web и конвейер декодера/кодировщика JSON для создания запроса JSON. Но я не могу найти, как создать схему ответа, так как мне нужен этот ответ в оркестровке BizTalk для обновления некоторых таблиц в базе данных. Кто-нибудь работал над ним?
В BizTalk 2013 R2, как создать схему ответа веб-API, поскольку мне нужен этот ответ в оркестровке BizTalk для обновления некоторых таблиц в базе данных.
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)
Как указано в комментариях.
- Захватите ответ JSON, предварительно установив для входящего конвейера параметр PassThru.
- Подпишитесь на порт отправки на ответ на порту отправки и запишите его в файл
- Используйте мастер JSON для создания схемы из файла ответов.
- Разверните схему ответа в BizTalk
- Измените входящий конвейер на пользовательский конвейер с помощью декодера JSON.
Чтобы получить статус HTTP из службы REST, см. эту статью BizTalk Server: обработка ошибок служб REST. Это включает в себя создание пользовательского поведения службы для захвата состояния HTTP и внедрения его в свойство контекста сообщения.
person
Dijkgraaf
schedule
18.02.2016