0
MVC4 웹 API를 사용하여 RESTful 웹 서비스를 작성했습니다. 내 웹 서비스를 호출하는 클라이언트 중 하나가 XML 본문을 게시하지만 JSON 응답을받는 중입니다.누락 된 헤더 값 추가
나는 클라이언트가 Content-type : application/xml 또는 Accept : application/xml 헤더 값을 설정하지 않는다는 것을 알게되었습니다.
내 웹 서비스를 호출하는 클라이언트는 전 세계에서 가장 큰 회사 중 하나이며 필요한 헤더 값을 추가하기를 거부합니다.
제 질문은 웹 서비스가 XML 응답을 반환 할 수 있도록 클라이언트가 보내지 않은 누락 된 헤더 값을 어떻게 추가합니까?
또는 웹 서비스에 XML 응답의 누락이 있습니까?
다음을 Global.asax.cs에 추가하려고했습니다.
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (HttpContext.Current.Request.HttpMethod == "POST"
&& HttpContext.Current.Request.CurrentExecutionFilePath.Contains("OrderInformation"))
{
HttpContext.Current.Request.Headers.Add("content-type", "application/xml");
HttpContext.Current.Request.Headers.Add("Accept", "application/xml");
}
}
하지만 런타임에는 예외가 발생합니다.
TIA
매트
헤더를 추가하는 대신 XML 형식의 기본 반환 형식을 사용할 수 있습니까? 아니면 다른 고객을 해칠 수 있습니까? – GPW
관련,하지만 그 반대의 문제, 너무 엄격하게 중복하지 ... https://stackoverflow.com/questions/36492004/webapi-mvc-4-set-default-response-type (편집 : 나는 생각한다 Untested는 틀릴 수도 있습니다.) – GPW
MVC에서 수행하는 방법을 잘 모르지만 일부 클래스를 재정의하고 필요에 따라 들어오는 요청 헤더를 수정할 수 있어야합니다. 다음 링크는 WCF와 관련이 있지만 비슷하지만 MVC를 사용하면 가능합니다. https://social.msdn.microsoft.com/Forums/vstudio/en-US/3b9a93a1-4406-416e-b328-1e0b626e563d/how-to-intercept- wcf-raw-messages? wcf – Softec