다소 큰 쿼리 문자열 (~ 30 + 매개 변수)을 사용하고 있으며이를 설정 한 WCF 서비스에 전달하려고합니다.큰 쿼리 문자열을 사용하는 WCF UriTemplate
나는 특히 UriTemplate 필드와 관련된 몇 가지 문제에 봉착했습니다. 이 서비스는 타사 Api에 액세스하도록 설정되어 있으므로 쿼리 문자열에 모든 매개 변수가 포함되거나 포함되지 않을 수 있습니다. 가장 좋은 방법은 쿼리 문자열을 작성하여 WCF 서비스에 전달하거나 각 매개 변수 (그리고 경우에 따라 String.Empty)를 개별적으로 전달하는 것입니다.
현재 쿼리 문자열을 동적으로 작성하려고했지만 uritemplate에 전체 문자열 ("? prm1 = val & prm2 = val")을 전달하려고하면 403 오류가 발생합니다. "ApiTool.jsp {query}"가 아니거나, 이름/값 쌍이 나열되어 있지 않기 때문에 잘못된 uritemplate 응답을 받았습니다.
시나리오를 잘 모르겠습니다. 간단한 예제를 게시 할 수 있습니까? –
그래, 뭐. 원래 내가의 라인을 따라 뭔가를 시도했다 : ResponseFormat = WebMessageFormat.Xml, UriTemplate = "TargetApi.jsp {조회}" 내가이 매개 변수를 통해 전체에서 사용자 정의 내장 된 쿼리 문자열을 전달할 것입니다. 나는 이것이 최근까지는 허용되지 않을 수도 있다는 것을 깨닫지 못했습니다. 쿼리 문자열에서 올바른 이름 값 쌍으로 끝나고 약간의 리팩터링 (어쩌면 최선)을 완료했습니다. UriTemplate = "TargetApi.jsp? key = & key"& otherParam = {otherParam } " 많은 수의 변수로 인해 두 번째 방법이 장황하지 만이 시나리오에서는 필요합니다. –