locked
Logic App - Transform XML Action - Custom Function not working anymore? RRS feed

  • Question

  • Hi,

    We had a Logic App running one time each day, which included an Transform Xml function. 
    Now on 16-12-2016 this step started to fail. (It had run successfully a couple of months)

    The XML Order used an Azure Function to perform the transform, for our solution we tweaked that function to also support xslt 2.0. (Which by default the azure logic app doesn't support)

    But now the XML Transform doesn't seem to use our custom azure function anymore and the action fails because it is an xslt 2.0 MAP and the logic app only support 1.0.

    What happened here? Is it something that changed from preview to live? (Maybe it doesn't use a Azure function anymore?)

    Is there still a way to specify the function to use?

    This was our Logic App Code:

    If I create a new XML Transform step, it misses the highlighted part. So I'm afraid it has gone?

    Did something change in the Transform XML action, that it isn't possible anymore to specify the function to use?

    Thanks!

    Wednesday, December 21, 2016 1:42 PM

Answers

  • Hi Ambience,

    This is probably due the fact that the Enterprise Integration Pack went GA and removed the requirement for you to specify an Azure function (which was on their roadmap anyway).

    I've just instantiated a new XML Transformation action and the option to provide the function is not there anymore, as you pointed out:

    If you want to use xslt 2.0 there is a way to get a reference to the map using the Integration Account Artefact Lookup.

    The output of that action includes the URI for an artefact like the map, so maybe you can use this to pass the URI of the XSLT and the XML content to your function and execute the map. But this is guess work, as I didn't have time to test it yet.

    Hopefully this points you to the right direction. Notice that this way you are only using the integration account as a storage account, so if possible I would try to adjust the XSLT back to XSLT 1.0 - this way it is a single action to be executed instead of two.

    Cheers, Wagner.

    Wednesday, December 21, 2016 7:37 PM

All replies

  • Hi,

    Yes, the custom Azure function is no longer supported in the XML Transform action. You will have to use the HTTP action in order to call your own function.

    Thank you.

    Wednesday, December 21, 2016 7:30 PM
  • Hi Ambience,

    This is probably due the fact that the Enterprise Integration Pack went GA and removed the requirement for you to specify an Azure function (which was on their roadmap anyway).

    I've just instantiated a new XML Transformation action and the option to provide the function is not there anymore, as you pointed out:

    If you want to use xslt 2.0 there is a way to get a reference to the map using the Integration Account Artefact Lookup.

    The output of that action includes the URI for an artefact like the map, so maybe you can use this to pass the URI of the XSLT and the XML content to your function and execute the map. But this is guess work, as I didn't have time to test it yet.

    Hopefully this points you to the right direction. Notice that this way you are only using the integration account as a storage account, so if possible I would try to adjust the XSLT back to XSLT 1.0 - this way it is a single action to be executed instead of two.

    Cheers, Wagner.

    Wednesday, December 21, 2016 7:37 PM