문제

Xlement를 반환하는 WCF 서비스가 있습니다. 이것은 제대로 작동하지만 응답에 XML 선언을 포함시키고 싶습니다.

<?xml version="1.0" encoding="utf-8"?>

클라이언트 측은 내가 변경할 수있는 것이 아니며 "결과는 XML이 아님"을보고하고 있습니다. HTTP 결과의 응답 사이의 유일한 차이점은 내 WCF 서비스의 내용 유형입니다.

Content-Type: application/xml; charset=utf-8

vs.

Content-Type: text/xml; charset=utf-8

"결과는 XML이 아님"이 누락 된 XML 선언으로 인해 발생한다고 가정합니다. Xlement 응답에 XML 선언을 추가 할 수있는 방법은 무엇입니까? 나는 MessageFormatter가 이것을 고칠 수 있다고 생각했지만 어디서부터 시작 해야할지 모르겠습니다.

도움이 되었습니까?

해결책

보다 xdocument 클래스 개요 출력에 XML 선언을 추가하는 방법의 빠른 샘플을 위해.

@john에 동의해야하지만 클라이언트가 XML을 텍스트로 수동으로 검증하지 않는 한 누락 된 XML 선언은 문제가되지 않습니다 (어리석은 일이지만 수행 한 적이 있음). XML 선언이 누락 된 텍스트는 XML이 유효하지 않아야합니다.

클라이언트가 .NET 클라이언트 인 경우 WCF 메시지 로깅을 활성화합니다 고객이받는 내용을 확인하십시오. 클라이언트가 .NET 클라이언트가 아닌 경우 Netmon 또는 Wireshark를 사용하여 트래픽을 검사하여 페이로드를 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top