2014-07-25 2 views
0

&, <>와 함께 문자열 응답을 반환하는 WCF 서비스가 있습니다. 예 :응답에서 제한된/특수 문자를 사용하는 WCF 서비스

<response>&amp;</response> 

사실, 나는 '&'문자를 보내고있다하지만 어떤 이유로 인코딩됩니다.

대신 디코딩 된 resoponse를 보내고 싶습니다. 내가 원하는 응답은 다음과 같습니다. - <response>&</response>

누군가이 방법을 제안 할 수 있습니까?

감사합니다.

답변

0

는 XML 시리얼은 잘 구성된 XML 문서를 생성하기 위해 특수 문자를 인코딩 할 수 있습니다.

XML specification에 따르면 앰퍼샌드 문자 이 문서의 임의의 위치에 표시되므로 인코딩 할 수 없습니다.

소비 애플리케이션은 이미이를 인식하고 & amp를 디코딩해야합니다. 앰퍼샌드로 돌아 가기. 그러나 Soap UI와 같은 XML 기반 소프트웨어에서 응답을보고 있다면 인코딩 된 형식으로 심볼을 계속 볼 수 있습니다.

0

당신은 당신의 perticular 데이터 계약 속성/전체 응답 문자열에

System.Web.HttpUtility.HtmlDecode() 

를 사용할 수 있습니다. 또는 freindly 개발자가 아닌 아래 기사에서 메서드를 사용할 수 있지만 응답에 특수 문자가 많은 경우 사용할 수 있습니다.

http://seroter.wordpress.com/2007/11/09/xml-web-services-and-special-characters/

+0

감사합니다. Ajay. 하지만 System.Web.HttpUtility.HtmlDecode()는 응답을 표시하기 직전에 클라이언트 측에서만 작동합니다. DataMember 속성을 추가하면 도움이되지 않습니다. get {return System.Web.HttpUtility.HtmlDecode (응답); } set {response = System.Web.HttpUtility.HtmlDecode (value); } – Jey

+0

실제로 무슨 일이 발생합니까, 나는 인코딩 된 문자열을 응답에 할당하지 않을 것입니다. WCF 서비스는 응답을 보내면서 인코딩합니다. – Jey

+0

당신은 클라이언트 측 자체에서해야합니다. 나는 WCF를 인코딩하지 않는다는 것을 당신 스스로 알고 있습니다. DataMember 속성은 작동하지 않습니다. 클라이언트 측에서는 어떤 문제가 있습니까? –