문제

나는 당신에게 내 머리를 잡을 수없는 것 같다는 간단한 질문입니다.

상황은 다음과 같습니다.

  • WSE 3을 사용하여 웹 서비스에 요청을 작성하고 보냅니다.
  • 웹 서비스는 Java로 작성되었습니다.

대부분의 것들은 괜찮지 만 Webresuest 또는 Webresponse의 내용 유형에 영향을 미치지 않는 것 같습니다.

내가 계속 얻는 errormessage는 다음과 같습니다.

클라이언트는 응답 콘텐츠 유형을 찾았습니다. 오류 메시지로 요청이 실패했습니다. ....

오류 메시지의 세부 사항에서 서버에서 통화에 대한 응답이 있으며 올바르게 진행됩니다. 분명히 그것은 예외를 통해오고 있기 때문에 지금은 좋지 않습니다 :).

그렇다면 응답에 대한 예상 컨텐츠 유형을 어떻게 설정할 수 있습니까?

내가 맞으면 WSE 3.0의 요청과 응답에는 동일한 내용 유형이 있어야합니다. 그래서 나는 request.headers [httprequestheader.contentType]를 예상대로 설정하려고 시도했지만 운이 좋지 않다고 생각했습니다. (또한 HTTPWebRequest의 ContentType를 꽤 많은 곳에 설정할 수 있지만 그 중 어느 것도 트릭을 수행하지 않는 것 같습니다)

도움이 되었습니까?

해결책

이것은 운 좋게 해결되었으므로 향후 참조를위한 솔루션은 다음과 같습니다.

우리의 클라이언트는 getwebresponse (..)이라는 메소드가있는 WebServicesClientProtocol 클래스에서 상속됩니다. 단순히 그 방법을 무시하고 응답의 내용 유형을 변경하는 것이 우리에게 효과가있는 것처럼 보였습니다.

    protected override WebResponse GetWebResponse(System.Net.WebRequest request)
    {
        WebResponse response = base.GetWebResponse(request);
        response.Headers[HttpResponseHeader.ContentType] = "text/xml";
        return response;
    }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top