1
응답 문자열에서 HTML 인코딩 문자를 방지하려면 WCF의 설정을 재정의 할 수 있습니까?응답으로 WCF에서 문자열을 인코딩하지 못하게 하시겠습니까?
SOAP 호출을 통해 제 3 자 도구에서 호출하는 간단한 서비스가 있습니다. 응답 객체에는 XML을 포함 할 문자열로 구성된 단일 속성이 있습니다. WCF가 응답을 패키지화하면 다음과 같이됩니다.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<HttpPostResponse xmlns="http://ws.lenderprise.com">
<HttpPostResult>
<STAT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<RESPONSE Attr1="1"
Attr2="ABC"
</RESPONSE>
</STAT>
</HttpPostResult>
</HttpPostResponse>
인코딩 된 문자열을 인코딩하지 않을 수 있습니까?
<?xml version="1.0" encoding="ISO-8859-1" ?>
<HttpPostResponse xmlns="http://ws.lenderprise.com">
<HttpPostResult>
<STAT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<RESPONSE Attr1="1"
Attr2="ABC">
</RESPONSE>
</STAT>
</HttpPostResult>
</HttpPostResponse>
나는이 여전히 처리 임베디드 문자를 보장하기위한 후크에 나에게 잎이 여전히 수신 측에 대한 고려를 의미하는 것으로 알고 있습니다.
응답 문자열 매개 변수에 대해 HTMLEncoding을 방지 할 수 있습니까? –
네, 그렇지만 쉽지는 않습니다. 커스텀 메시지 포맷터 (CLR 객체 (이 경우에는 문자열)와 WCF 메시지를 변환하는 구성 요소)를 사용해야합니다. 해당 경로를 사용하려는 경우 http://blogs.msdn.com/b/carlosfigueira/archive/2011/05/03/wcf-extensibility-message-formatters.aspx의 게시물에 대한 자세한 정보가 있습니다. – carlosfigueira