WCF服务自定义响应

时间:2011-05-19 10:32:55

标签: wcf wcf-binding wcf-ria-services

我已经使用basicHttpBinding开发了一个演示WCF服务,并且我正在获得WCF响应 -

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">    
<s:Body>       
<TestResponse xmlns="http://tempuri.org/">          
<TestResult>hi Test</TestResult>       
</TestResponse>    
</s:Body> 
</s:Envelope>

但我需要采用以下格式的WCF响应 -

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">    
<s:Body>       
-->><t:TestResponse xmlns:t="http://tempuri.org/">
<TestResult>hi Test</TestResult>       
</TestResponse>    
</s:Body> 
</s:Envelope>

所以我该怎么办才能得到这个回应呢?

1 个答案:

答案 0 :(得分:0)

请注意,您拥有的两个回复并不等同:在第一个回复中,&lt; TestResult&gt; element位于tempuri.org/名称空间中,而在第二个名称中,它位于默认值(“”)上(您需要使用“t:”为TestResult加前缀,以保持相同的XML语义。为此,在WCF中没有任何东西可以开箱即用,但您可以使用平台的众多扩展点之一自行更改它。看看http://blogs.msdn.com/b/carlosfigueira/archive/2010/06/13/changing-prefixes-in-xml-responses.aspx,它完全与之相关。