I am sending messages to MSMQ queue from BizTalk via MSMQ adapter. I need acknowledgement on full receive of the message (by the recipient from the queue). It doesn't work for me no matter what Acknowledgement Type I sent in the MSMQ Transport Properties. I know that the Full Receive ack depends on the TTL (time to live) of the message. But this cannot be set in the MSMQ transport properties. There is only Timeout, but it only works for reaching the queue (here is what MSDN says about timeout: "Specify the maximum time to wait for the messages to reach the destination queue. Applies only when you use transactions."). I set this Timeout property to 10 secs. If I set Ack Type to FullReceive I only get acks when messages picked from the queue. But I never get nacks (obviously because TTL wasn't reached). I think the default TTL is 4 hours. I also used other Ack Types like NegativeReceive, etc. but nothing gave me NACKs if the message is not picked from the queue. I could actually achieve it via WCF-NetMSMQ adapter where you can sent the TTL value and will get NACKs if it elapsed.
Does anyone know how to make the FullReceive work via MSMQ adaptar and receive NACKs if the message is not received from the queue within 10 secs?