Friday Fact: When a HTTP request is received trigger has different behaviors depending on the designer you use

  • Sandro Pereira
  • Oct 11, 2024
  • 3 min read

Welcome back to another edition of Friday Fact! Today’s fact highlights either an existing issue or a design choice that needs adjustment for the BizTalk Logic App Adapter to work correctly. Fortunately, this behavior does not affect the Logic App connector, so you can still call child Logic Apps without any issues.

As you may know, Microsoft plans to retire the legacy Logic App designer in the future. It was originally scheduled for removal in September 2024. However, it is still available today.

While creating a Logic App Consumption workflow with the When a HTTP request is received trigger, I noticed an important difference. The trigger generates different callback URLs depending on whether you use the legacy designer or the new GA designer. This difference directly impacts how the BizTalk Logic App Adapter behaves in BizTalk Server.

📝 One-Minute Brief

The “When a HTTP request is received” trigger behaves differently depending on whether you use the legacy Logic App designer or the new GA designer. This Friday Fact explains how these differences impact the generated callback URL, why this behavior can break integrations that rely on the BizTalk Logic App Adapter, and what you need to be aware of when designing Logic Apps that expose HTTP endpoints.

Logic App Designer: different behaviors

If you use the Generally Available Designer when you save the Logic App, the HTTP URL has the following structure:

  • https://<prefix>.westeurope.logic.azure.com:443/workflows/<workflowID>/triggers/When_a_HTTP_request_is_received/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2FWhen_a_HTTP_request_is_received%2Frun&sv=1.0&sig=<secret>
When a HTTP request is received

Notice that the trigger name is: When_a_HTTP_request_is_received.

Now, if you use the Legacy Design to create the exact same Logic App, the HTTP URL has the following structure:

  • https://<prefix>.westeurope.logic.azure.com:443 /workflows/<workflowID>/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=<secret>
When a HTTP request is received

Notice that the trigger name is: manual.

Logic Apps calling child Logic Apps

Now again, from a Logic App perspective, this different behavior does not impact us to call child Logic Apps, nor with the:

  • Legacy Designer
When a HTTP request is received
  • Generally Available Designer
Logic App Trigger Name
  • or using the Legacy Designer inside Visual Studio
Call Logic Apps

Both designers can recognize Logic App Consumption workflows.

BizTalk Server Logic App Adapter

However, this behavior does not apply to the BizTalk Server Logic App Adapter. The adapter can identify the Logic App, but it does not handle it in the same way.

Logic App adapter

but will fail because of the length of the HTTP URL.

Logic App adapter issue

Of course, this is a bug in the BizTalk Server Logic App Adapter caused by the Logic App Designer’s different behavior, which will block us from creating specific hybrid solutions in a consistent way.

To lazy to read? We’ve got you covered! Check out our video version of this content!

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

buy me a coffee
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