1

WCFの設定をオーバーライドして、応答文字列のHTMLエンコード文字を防ぐことはできますか?

サードパーティのツールからSOAP呼び出しを介して呼び出される単純なサービスがあります。応答オブジェクトには、XMLを含む文字列で構成される単一のプロパティがあります。WCFが応答をパッケージ化すると、次のようになります。

<?xml version="1.0" encoding="ISO-8859-1" ?>
<HttpPostResponse xmlns="http://ws.lenderprise.com">
  <HttpPostResult>
    &lt;STAT xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; &gt;
      &lt;RESPONSE Attr1=&quot;1&quot; 
             Attr2=&quot;ABC&quot; 
      &lt;/RESPONSE&gt;
    &lt;/STAT&gt;
  </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>

これでも、埋め込み文字が確実に処理されるようにするためのフックが残っていること、およびこれは受信側での考慮事項を意味することを理解しています。

4

1 に答える 1

2

文字列の代わりに XML を返したい場合は、戻り値の型としてXElementまたはを使用できます。XmlElementその場合、文字列のようにエンコードされません。

于 2012-09-28T16:07:21.483 に答える