Partager via


Logic Apps B2B encode minor update

We are rolling out a small fix to Logic Apps B2B connectors (EDIFACT and X12) for their Encode API. We were not catching properly exception from invalid XML document user input where the document contained XML complex type Choice or All elements which actual occurrences count exceeded the maximum specified in the XML schema. For instance if the schema declared:

    <xs:element name="REF_SubLoop">
       <xs:complexType>
          <xs:choice maxOccurs="unbounded">
             <xs:element ref="REF_SubscriberIdentifier" minOccurs="1" maxOccurs="1"/>
              <xs:element ref="REF_MemberPolicyNumber" minOccurs="0" maxOccurs="1"/>
                <xs:element ref="REF_MemberSupplementalIdentifier" minOccurs="0" maxOccurs="13"/>
         </xs:choice>
      </xs:complexType>
 </xs:element>

But the encode request payload XML document contained:

     <ns0:REF_SubLoop>
      <ns0:REF_SubscriberIdentifier>
        <REF01_ReferenceIdentificationQualifier>0F</REF01_ReferenceIdentificationQualifier>
        <REF02_SubscriberIdentifier>101c9469-50de-47da-9074-23a5d2cc03e7</REF02_SubscriberIdentifier>
      </ns0:REF_SubscriberIdentifier>
      <ns0:REF_SubscriberIdentifier>
        <REF01_ReferenceIdentificationQualifier>0F</REF01_ReferenceIdentificationQualifier>
        <REF02_SubscriberIdentifier>101c9469-50de-47da-9074-23a5d2cc03e7</REF02_SubscriberIdentifier>
      </ns0:REF_SubscriberIdentifier>
    </ns0:REF_SubLoop>

Once the update rollout is complete, we will detect those invalid inputs and correctly fail the encode call with HTTP error code 400 Bad Request response and an error message alike:

 Error in serialization Errors: Error: 1 (Segment level error)
    SegmentID: INS
    Position in TS: 1
    7: Segment not in proper sequence

Error: 2 (Segment level error)
    SegmentID: REF
    Position in TS: 3
    7: Segment not in proper sequence

Error: 3 (Segment level error)
    SegmentID: REF
    Position in TS: 3
    5: Segment exceeds maximum use description

Comments

  • Anonymous
    June 20, 2019
    This blog has been moved off the MSDN platform. Find further content and update at https://www.linkedin.com/today/author/daviburgComments are locked as part of the blog migration, so please reach out to your customer support contact for assistance with Microsoft products and services.