I got the above exception when wiring a BizTalk Receive Location to a WCF service today. As usual, a cryptic error message that made little sense at first glance.. oh, brother…
Anyway, simple problem–simple solution: the Application Pool we were running under was configured to use .NET 2.0, which is the default for new Application Pools in IIS 7. Since our WCF service was using .NET 4 we needed the pool to run under that instead. We changed the version, restarted the pool and Voila!, system works.
A helpful hint for anyone who gets this exception and hasn’t thought about checking framework version on their App Pool. Of course, this isn’t the only thing that may cause a 404.17, but it’s an easy one to check for.