2009-08-11 2 views
1

가 나는 XElement를 반환하는 WCF 서비스가이 그러나 나는 응답에 XML 선언을 포함하도록하고 싶습니다 잘 작동 :WCF XElement Response에 XML 선언이 포함될 수 있습니까?

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

클라이언트 측 내가 변경입니다 수있는 일이 아니다 레포팅 "결과 것은 XML 아니다"내 HTTP 결과의 응답 사이의 유일한 차이는 내 WCF 서비스의 내용 유형입니다 :

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

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

누락 된 XML 선언으로 인해 "결과가 XML이 아닙니다"라고 가정합니다. XElement 응답에 XML 선언을 어떻게 추가 할 수 있습니까? MessageFormatter가이 문제를 해결할 수있을 것이라고 생각했지만 시작해야 할 부분이 전혀 없습니다.

+1

XML에 XML 선언이 필요하지 않습니다. 그건 문제가 아니야. –

+0

XML 선언을 잊어 버린 WCF 클라이언트를 작성했습니다. SharePoint 웹 서비스가 SERVER_ERROR에 응답합니다. 정확한 요청을 받아 XML 선언 후에 보내면 웹 서비스가 올바르게 응답합니다. 표준에 따르면 XML 선언은 필수는 아니지만 Microsoft가 표준을 준수하지 않는다는 데 동의해야합니다. 클라이언트가 어떻게 작성되었는지 누가 알 수 있습니까? 나는 이것이 문제가 될 수 있다고 생각한다. – rds

+0

charset을 변경하는 방법? iso-8859-6 데이터 처리 방법을 원하십니까? – user1237131

답변

0

xml 선언을 출력에 추가하는 방법에 대한 빠른 샘플은 XDocument Class Overview을 참조하십시오.

@ 존과 동의해야하지만 클라이언트가 XML을 텍스트로 수동으로 확인하지 않는 한 빠져있는 xml 선언은 문제가 될 수 있습니다 (어리석은 일이지만 완료된 것으로 보았습니다). XML 선언이 누락 된 텍스트가 유효한 XML이 아니어야한다고 가정합니다.

클라이언트가 .NET 클라이언트 인 경우 enable WCF message logging과 클라이언트가받는 것을 확인하십시오. 클라이언트가 .NET 클라이언트가 아닌 경우 Netmon 또는 Wireshark를 사용하여 트래픽을 검사하여 페이로드의 유효성을 검사합니다.

+0

더 중요한 것은 XML 선언이있는 경우 XML이 유효하지 않은 것입니다. 그것은 유효하지 않은 다른 요소에 의해 래핑됩니다. –

+1

John,이 설명을 설명해 주시겠습니까? 나는 네가 여기서 무엇을 의미하는지 궁금해. 이것은 XML에 대한 나의 무지 일지 모르지만 XML 선언을 문서의 머리 부분에 넣으면 어떻게 무효화됩니까? –

+0

수동으로 XML을 생성하지 않고이 작업을 수행 할 수 있습니까? 예를 들어 MemberContracts를 사용할 때? – Godspark

관련 문제