VS2008 (3.5) で記述された IIS6 でローカルに実行されている WCF REST サービスがあります。
svc ファイルの asp.net ISAPI マッピングは、すべての動詞を受け入れるように構成されています。ワイルドカード スクリプト マッピングを有効にして、拡張子のない URI が URL 書き換えを介してサービスと連携できるようにしました。
そのため、.svc ファイルを指定して REST サービスへの PUT を実行すると、問題なく動作します。svc を省略して同じことを行うと、405 が返されます。
すなわち
http://thehost/therestmethod = 405 http://thehost/theservice.svc/therestmethod = 200
URL で記述されたすべてのバージョンは、唯一の例外である PUT で機能します! 拡張子のないバージョンで PUT を試行すると、URL の書き換えは成功しましたが、エラーが発生したため、書き換えが成功したことがわかりました。
WCF トレースを使用してみましたが、エラーがログに記録されません。まだそこまで来てないみたい?!?!