none
JSON encoder pipeline doesn't create json array after installing CU7 RRS feed

  • Question

  • When using a JSON encoder pipeline to create a JSON array with as input an xml message with only one repeating xml fragment the resulting JSON does not have an enclosing JSON array.

    Tried setting the MaxOccured to unbounded in the schema, this should create a enclosing JSON array. Works on a system with CU6 installed, doesn't work with CU7 installed.

    Details of the test:

    used test project: 

    Input message:

    <ns0:Repeater xmlns:ns0="http://JSONTest.Repeater">
      <Repeat>Repeat_0</Repeat>
    </ns0:Repeater>

    Output message:

    {
      "Repeater": {
        "Repeat": "Repeat_0"
      }
    }

    XML schema (with maxOccurs=”unbounded”)
    <?xml version="1.0" encoding="utf-16"?>
    <xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:ns0="http://JSONTest.Repeater" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://JSONTest.Repeater" xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="Repeater">
        <xs:complexType>
          <xs:sequence>
            <xs:element maxOccurs="unbounded" name="Repeat" type="xs:string" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:schema>


    This has been tested with CU7 and CU6. (Uninstalled CU7 and tried testing after reboot with CU6 as most recent update).
    Screenshot CU:

    Test with a system which has CU6 installed and not yet CU7:

    Output message:

    {
      "Repeater": {
        "Repeat": [
          "Repeat_0"
        ]
      }
    }

    Can someone verify that this issue is indeed in the CU7 update.

    • Edited by A Pasmooij Tuesday, March 24, 2020 12:00 PM
    Tuesday, March 24, 2020 11:40 AM

All replies

  • Another possible bug with the JSON Encoder in CU7

    From my blog post Cumulative Update 7 for Microsoft BizTalk Server 2016

    It has been reported on Twitter that “We have some issues with the new #biztalk CU7. The json encoder has started formatting boolean values as string values, like “true” instead of true.” and “As we wanted the FTP fixes in CU7 we installed it anyway and replaced the jsonextension dll with an older version.”

    In that same thread "Little warning, rolling back CU7, does not rollback the jsonextension version."

    Tuesday, March 24, 2020 8:19 PM