Tuesday, October 26, 2021

Building end to end RosettaNet application using logic app

In this article I will talk about the RosettaNet integration in logic app by going through all actions offered by logic App.

please read the official documentation first and also you may refer the RosettaNet spec http://xml.coverpages.org/RNIF-Spec020000.pdf for more details.



Host (Sender) and Guest (receiver) Sequence Diagram 





Link for the sequance diagram 



The artifacts in this article are divided into two groups based on the Role  :

For the Host side I have three logic apps running on Host integration account 

  • Initiator
  • Acknowledgment processor
  • Response processor  

For Guest (receiver) I have one logic app running on Guest integration account 

  • Message receiver and Ack and response 

Host Initiator

The initiator flow is described below 










Steps description



Initialize var that has the unique message ID(PIP instant identifier )

Here i am using the current time ticks function 


The encode action , I am picking the Host and the Gust based on the configured agreement

The message type is action (which mean that it is not a response to anything )


The URL of the partner http endpoint can be obtained from the agreement 


The Host will wait for the (Ack and response ) form the Sender to be processed 


Receiver: Message receiver and Ack and response






Steps description



Decode the incoming message that received from the Host 

Once the message received the message can be sent to backend system or store on Blob 


The receiver will generate an acknowledgment message 


Send the Ack message by getting the http endpoint from the agreement 


The receiver will encode a response message 

Note that the message type is Response, and the Role is Responder  


Send the Response message by getting the http endpoint from the agreement 


Send the response to the http request 

Sender: Acknowledgment processor & Sender: Response processor





The Acknowledgment processor and the responses processor are the same code, the only needed action is to Decode the message 

Using Azure resource explorer 


You may need to log to Azure resource explorer  Resource Explorer (azure.com) to track the Session 

It is extremely useful to see if the message get acked or response

As in the below picture and based on the lines 8 and 9 this message is not Acked and did not received any response  




To check the session information, you can go to the below URL 



Posted at https://sl.advdat.com/3Cijgj5