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 而不是字符串,则可以使用XElementXmlElement作为返回类型。在这种情况下,它不会像字符串那样被编码。

于 2012-09-28T16:07:21.483 回答