Sometimes when you use messaging in BizTalk you want to publish messages in the messagebox. And only if some conditions are met, BizTalk should react to those messages and send it somewhere if those conditions are not met BizTalk should discard the message.
Unfortunately this is not how BizTalk works, BizTalk needs a subscriber to a message. Since there is no subscriber for the unwanted messages we end up with messages in the EventLog.
Well for sure you could use an orchestration and do some business logic to decide what to do. Unfortunately you will need an orchestration for that. And we started out that we only wanted to use messaging.....so this is not an option....
Another workaround would be to write to a fixed filename. So we overwrite the same file over and over again.... But then what happens if there are two messages beeing send at the same time ?? We probably would get a suspended message in the HAT and an Entry in the eventlog. So this is not an option either.....
This is where the BizTalk NOPE Adapter comes in. (No Output Producing EndPoint
Just set the Filter Expression to the receiveport where the messages come from and this adapter will eat every message coming from a specific receiveport.
If you want to react to specific messages having specific properties you can still use that but the messages that you're not interested in will dissappear without a trace.....
This adapter is available on GotDotNet, click here to get it