Introduction
When you get multiple types of messages with same extension (but with different schema such as different type of error response files on a single forder location form an external system) on a receive location and some messages are useful and other are various error details messages.
To handle this scenario there are a number of options in Biztalk you can choose from:
1. You can configure your pipeline with a composite schema and will apply maps to make different destination messages and then in turn use them in your Orchestration/route them to send port.
But the problem is to make a lot of schemas here without any specific need for this as the messages which are not useful and arbitary as per the error/prone to change , it is very difficult to make and manage schemas for them.
or
2. If there is no specific need for the error messges to process but they can be read by your support team to understand where the problem is then you must use only useful message schemas in the composite schema of Receive pipeline and BIztalk's native "Enable routing for failed messages" option on Biztalk Receive port.
The idea is to make sure that the error messages should go to some folder so that support team could read it.
When you select the option for "Enable routing for failed messages" then biztalk will promote the context properties starting with "ErrorReport." in send port filter.
So you can make a send port for all those arbitary error messages which will subscribe to (maybe something like) ErrorReport.ReceivePortName== <Your Receive Port Name here>
and volla .. that makes the messages to flow to the send port folder location.
Make sure you use pass thru send pipeline for all this to work (reason being obvious ).
History
Initial version , will be needing comments from readers to enhance/improve it.