我开发了一个WCF服务,其响应是这样的 -
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<getNameResponse xmlns="http://tempuri.com/">
<name>4</name>
</getNameResponse>
</s:Body>
</s:Envelope>
但我需要采用以下格式作出回应 -
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<a:getNameResponse xmlns:a="http://tempuri.com/">
<name>4</name>
</a:getNameResponse>
</s:Body>
</s:Envelope>
是否可以配置WCF服务来实现此行为?
答案 0 :(得分:1)
是的,你可以这样做 - 我发布了关于在http://blogs.msdn.com/b/carlosfigueira/archive/2010/06/13/changing-prefixes-in-xml-responses.aspx为WCF服务定制前缀的帖子。但是,请注意,您拥有的两个响应并不相同 - 在第一个中,<name>
元素位于命名空间“http://tempuri.org/”上,而在第二个上,它位于空(“”)命名空间。如果这确实是您所需要的,您可能需要考虑使用消息协定来更改正文元素的命名空间。