2010-04-22 5 views
1

WCF에서 작성한 webservice가 있으며 basicHttpBinding으로 표시됩니다. 매개 변수 중 하나는 xml 문자열을 사용하는 문자열입니다. 클라이언트가 webservice로 보내기 위해 생성 한 비누를보고, xml은 모두 <이고,>는 & lt으로 바뀌 었습니다. 및 & gt; 내 질문은,이 모든 인코딩 된, 또는 매개 변수가 HtmlEncode 통해 실행되도록 다른 엔터티도 스왑 된 것입니다?웹 서비스 매개 변수 값 인코딩

내가 물어 보는 이유는 우리 고객이 제 3 자 웹 서비스에 제출하고 있으며 인코딩 된 내용에 대해 자세히 알고 싶기 때문입니다.

답변

1

HMTMEncoded이 아닙니다. 그것은 다음과 같은 문자가 이스케이프해야합니다 XML에 유효한 문자열을 만들 수 있지만,

:

& => &amp;amp; 
< => &amp;lt; 
> => &amp;gt; 
" => &amp;quot; 
' => &amp;apos; 

','와 그 의미가 달려으로 & neccessarily, (그러나 그들이해야한다) 이스케이프 안 는 XML 문자열 내부의 사용에.

정확한 규칙에 대한 the spec를 참조하십시오.

+0

을 내가 가지고있는 샘플에서 것은 확실히 < and > 그러나 "이 될 것 같다의 엉성한 – dnolan

+0

그게 내가 "성안"에 의해 의미가 정확히 "wellandformed CData를 얻으려면 교체해야하지 않아도. 그러나 엔터티 참조가 사용될 때 일반적으로 &는 &으로 이스케이프되어야합니다. 즉 &은 & amp가되어야합니다. 편집부에서와 같이 내가 OP에서 당신을 위해했던 것처럼 ... :-) – AxelEckenberger

관련 문제