WCFでRESTサービスを構築していますが、作成しているメソッドの1つはGetProfileです。これは、指定されたユーザー名のプロファイルを返します。ユーザー名にはユーザーのドメインが含まれるため、「DOMAIN\username」の形式になります。
したがって、私はProfiles.svcというサービスを持っています。このサービスには、次のエンドポイントが設定されています。
[OperationContract]
[WebGet(UriTemplate = "/{username}", ResponseFormat = WebMessageFormat.Xml)]
IRestResponse GetProfile(String username);
ただし、 http://server/profiles.svc/DOMAIN%5cusername (%5cはバックスラッシュのurlencoded形式)でサービスにアクセスしようとすると、次のエラーが発生します。
'/'アプリケーションのサーバーエラー HTTPエラー400-不正なリクエスト
これは、GetProfileの実装で実際に定義されたコードがない場合でも発生するため、WCFがURIをメソッドにバインドしようとした時点でエラーがスローされていると思います。
REST WCFサービスのURLにバックスラッシュを追加できるようにするために、Webサービス構成に追加する必要のある設定はありますか?または、バックスラッシュは単に許可されていませんか?