Logic App Standard error calling Transform using Data Mapper XSLT action: undefined. undefined

  • Sandro Pereira
  • Jun 21, 2023
  • 3 min read

I have been testing Data Mapper for almost 4 months since the first private previews. Still, I have usually tried the Data Mapper capabilities and not the interaction between the Logic Apps Standard workflow and the Data Mapper. Now that I’m preparing and finalizing my session for the Azure Logic Apps Community Day 2023, I’m finding these little headaches as I try to get these pieces to work together. You also need to be aware that this behavior and experience may change in the future since DaTa Mapper is still in preview.

So, while I was trying to call a transformation created by the new Data Mapper, in this case, a JSON to JSON transformation, running locally on my machine, I was always getting this really annoying and nonsensical error since it doesn’t provide any real and valuable help or insight on the issue we are facing:

  • undefined. undefined
undefined

Sometimes I think the Microsoft developer team likes that I write all these blog posts about Errors and Warnings, Causes and Solutions, or they are just teasing us.

I was surprised to see this error, since I had just finished developing my map and had successfully tested it in the Data Mapper editor.

📝 One-Minute Brief

Logic Apps Standard workflows can fail with an “Undefined – Undefined” error when calling the Transform using Data Mapper (XSLT) action. This article explains why this error occurs and shows how to resolve it by correcting the project structure and local artifacts used by the Data Mapper.

Cause

The reason this error happened is that I forgot to read the prerequisites for this preview extension, which are well explained here: Announcement: Azure Logic Apps’ New Data Mapper for Visual Studio Code (Preview).

And that you can see in action in this video of Kent Weare:

Solution

For the map to run successfully in runtime, within your local.settings.json file in your logic apps standard project, ensure you have the following property configuration:

  • FUNCTIONS_WORKER_RUNTIME property set to dotnet-isolated.
  • And add the AzureWebJobsFeatureFlags property with the value: EnableMultiLanguageWorker

As you can see in the sample below:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
    "AzureWebJobsFeatureFlags": "EnableMultiLanguageWorker",
    "WORKFLOWS_SUBSCRIPTION_ID": ""
  }
}

Hope you find this helpful! So, if you liked the content or found it helpful and want to help me write more content, you can buy (or help buy) my son a Star Wars Lego! 

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

Leave a Reply

Your email address will not be published. Required fields are marked *

The Ultimate Cloud
Management Platform for Azure

Supercharge your Azure Cost Saving

Learn More
Turbo360 Widget

Back to Top