Кодировщик BizTalk json не использует правильный тип - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь отправить довольно простое JSON сообщение от BizTalk.

{
  "Value": 1
}

Я установил тип поля «Значение» в xs: int в моей xml схеме

<xs:element minOccurs="1" maxOccurs="1" name="Value" type="xs:int" />

Но он продолжает генерировать неправильное сообщение JSON.

{
  "Value": "1"
}

Не уверен, что я здесь делаю неправильно. У кого-нибудь есть советы?

1 Ответ

0 голосов
/ 05 мая 2020

Здесь может быть несколько проблем.

  1. Ваша полезная нагрузка XML не проходит через XML Dissasembler или Ассемблер до достижения энкодера JSON и, следовательно, Тип сообщения установлен неправильно, и в этом случае он не использует схему для определения правильных типов дат.

  2. В вашей схеме есть еще один более ранний элемент с тем же именем, но другой тип. Он будет использовать тип из первого для всех элементов с одинаковым именем. Это была ошибка в BizTalk 2013 R2, и я думаю, что она все еще существовала в BizTalk 2016 и могла вызывать некоторые странные ошибки, особенно если у вас были Записи (сложные типы) и Элемент (простые типы) с одинаковыми именами. например, FIX: JSON кодировщик не может обработать схему XML с тем же именем для записи и одним из ее элементов в CU 7

...