0
votes

I am developing a logic apps application that will send XML to an azure service bus queue that will be picked up by an on-premises .NET app.

I thought a straightforward pattern would be to have the .NET app return an acknowledgement to a separate azure service bus queue and the logic apps application could wait and pick that up to branch on whether all was OK or an error occurred. But I am finding this very difficult to set up in logic apps. I have played with the sequence id and correlation id fields, peeklock etc but nothing seems to fit what I thought would be a basic pattern (send a message and receive an ACK). Am I just trying to do something logic apps isn't engineered for? Missing something basic?

Appreciate any help immensely.

2

2 Answers

0
votes

According to your description, I suggest you could consider using azure function to achieve your requirement.

The logic app support run custom code for logic apps through Azure Functions.

In the azure function, you could write logic to check the application has already send the ACK to the another servicebus queue.

If it has the value return true, else return false.

Then in the logic app, you could use condition to check this result.

More details, you could refer to this article.

Example like this:

enter image description here

0
votes

You would send a message with a unique session id, then wait for a message acknowledgment for that particular session id.

This is described in more detail in a blog post, but essentially it's using a polling technique which means that if you expect a long wait before the message is acknowledged, you need to consider how frequently to poll the message bus, or whether an HTTP-callback mechanism is more suitable.