XML to JSON mapping fails in order fulfillment integration after 24a upgrade

We’re experiencing order fulfillment sync failures after upgrading to 24a. Our hybrid integration uses Oracle Integration Cloud to transform XML order data from our on-premise ERP to JSON for Fusion Cloud SCM. The mapping worked perfectly in 23d, but now fails consistently.

The error occurs during XML to JSON transformation in the integration flow:

<Order>
  <LineItems type="array">
    <Item quantity="5"/>
  </LineItems>
</Order>

Transformation fails with “Invalid array structure” error. The JSON output should contain properly nested order line items, but the array attribute handling seems broken. This is blocking all order sync jobs - we have 200+ orders stuck in queue. Has anyone encountered similar XML to JSON mapping issues in hybrid deployments after 24a upgrade?

The transformation error you’re seeing is definitely related to how 24a handles XML attribute-based array declarations during JSON mapping. Here’s the complete solution addressing all three aspects of your integration issue:

XML to JSON Mapping Fix: The core problem is that 24a’s transformation engine no longer supports type=“array” attributes for implicit array detection. You need to modify your mapper configuration:

// Update your OIC mapper with explicit array handling:
let lineItems = [];
for (let item of $XMLInput.Order.LineItems.Item) {
  lineItems.push({quantity: item.@quantity});
}
return {Order: {LineItems: lineItems}};

Data Transformation Error Resolution: Instead of relying on XML attributes, restructure your transformation logic to explicitly handle arrays. In your OIC integration flow, add a JavaScript action before the mapper to preprocess the XML and convert it to a proper array structure. This gives you full control over how arrays are constructed in the target JSON.

Alternatively, if you can’t modify the source XML, update your XSLT transformation to include:

<xsl:template match="LineItems">
  <xsl:for-each select="Item">
    <LineItem>
      <quantity><xsl:value-of select="@quantity"/></quantity>
    </LineItem>
  </xsl:for-each>
</xsl:template>

Order Sync Integration Restoration: For immediate relief of your 200+ order backlog:

  1. Create a new integration flow version with updated mapper configuration
  2. Test with a single order to validate the transformation
  3. Enable the new version and resubmit failed orders using OIC’s resubmit functionality
  4. Monitor the integration dashboard for the next 24 hours to ensure stable processing

The key insight is that 24a enforces explicit array declarations in JSON schemas rather than inferring them from XML attributes. This is actually better for long-term maintainability, though it requires upfront configuration. After implementing these changes, our order sync has been running flawlessly with zero transformation errors across 500+ daily orders in our hybrid environment.

I’ve seen this exact issue. The 24a release changed how OIC handles XML attributes during JSON transformation. The type=“array” attribute isn’t being recognized properly anymore. Try removing the type attribute and restructuring your XML with explicit array elements instead. We had to modify our source XML schema to make it work with the new transformation engine.

Have you looked at the OIC transformation logs in detail? There’s usually more context about what’s failing. In 24a, Oracle changed the default array handling behavior to be more strict about JSON schema validation. Your XML structure might need explicit cardinality indicators. Try wrapping your LineItems in a proper container element and see if that helps the mapper recognize it as an array structure.

We faced similar data transformation errors in our hybrid setup. The issue is that 24a’s OIC mapper now requires explicit namespace declarations for array handling. Check if your XSLT transformation includes the proper JSON namespace references. Also, validate that your integration flow is using the latest OIC adapter version compatible with 24a - we had to update our adapter connections after the upgrade to resolve mapping inconsistencies.

I ran into this last month during our 24a migration. The root cause is that OIC’s XML to JSON mapper now enforces stricter JSON schema validation rules. For array handling specifically, you need to ensure your mapper configuration explicitly defines array types in the target JSON schema. We solved it by updating our integration flow’s mapper to include proper array declarations in the JSON schema definition, rather than relying on XML attributes to infer array types.

Thanks for the suggestions. I checked our adapter versions - we’re using OIC Gen 2 adapters which should be compatible. The namespace issue is interesting. Our XSLT doesn’t have explicit JSON namespaces. Could you share what namespace declarations you added? Also wondering if there’s a way to preserve backward compatibility without changing our source XML schema, since that would require changes across multiple systems.