WCF에서 REST 서비스를 작성하고 있으며 작성중인 메소드 중 하나는 GetProfile이며 주어진 사용자 이름에 대한 프로파일을 리턴합니다. 사용자 이름은 사용자의 도메인을 포함하므로 "DOMAIN \ username"형식을 갖습니다.REST WCF URL에서 백 슬래시 (% 5c) 사용
그래서 저는 다음과 같은 엔드 포인트를 가지고 Profiles.svc라는 서비스가 설정 한: 나는 http://server/profiles.svc/DOMAIN%5cusername (%의 5C에서 서비스를 방문 할 때
그러나[OperationContract]
[WebGet(UriTemplate = "/{username}", ResponseFormat = WebMessageFormat.Xml)]
IRestResponse GetProfile(String username);
는, 백 슬래시의를 urlencoded 형태이다) 나는 다음과 같은 오류가 발생합니다 : 실제로 GetProfile 내 구현에서 정의 된 코드가없는 경우에도이 문제가 발생합니다, 그래서 오류가 WCF가하는 방법에 URI를 바인딩하는 지점에서 발생되고있는 것으로 판단
Server error in '/' Application HTTP Error 400 - Bad Request
.
REST WCF 서비스의 URL에 백 슬래시를 추가하려면 웹 서비스 구성에 추가해야 할 몇 가지 설정이 있습니까? 또는 역 슬래시를 허용하지 않습니까?
도메인과 이름이 REST로 잘 표현되는 계층 적 관계를 가지고 있기 때문에이 방법 (/ {domainName}/{userName})을 사용하는 것이 올바른 방법 인 것 같습니다. –
좋은 해결책. 우리는 REST URL을 생략해야했다. – Muhammedh