I have a BizTalk interface receiving a HL7 message and passing the message on to a client's server. For this interface I have a two way RP and a solicit response SP. The current behaviour is that the two way RP will generate an ACK the moment it receives a message. The SP will then send the message to the client and the client will respond with an ACK. The SP will consume the ACK sent by the client server when the SP receives the ack. My question is how do I configure Biztalk such that the ACK from the SP gets propagated to the RP and back to the source in the same RP socket? I am trying to avoid orchestration so does this have to be a custom pipeline component?
Thanks!
So, after much reasearch and trail and error. It turns out that this is a native feature inside BizTalk 2013 R2. The reason it was not working before was because the RP was picking up the ACK generated in the RP's receive pipeline, specifcally the ACK generated by the disassembler. Hence when the ACK from client returns, it has no where to go and gets suspended in the RP. This can be addressed by creating a Party and setting the Ack Type to None with ack routing checked.
Due to implementation limitations, I could not create a Party to utilize the above method. I had to code a custom pipeline component for the RP's Receive Pipeline to suppress the ACK from the disassembler instead. This worked just as well.