更改根节点(响应)wcf服务

问题描述:

我创建了一个简单的wcf服务,其默认示例为vs2013。我需要更改GetData中的响应GetDataResponse的根更改根节点(响应)wcf服务

我该怎么做?


 
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> 
 
    <s:Header /> 
 
    <s:Body> 
 
    <**GetDataResponse** xmlns="http://tempuri.org/"> 
 
     <GetDataResult>You entered: 0</GetDataResult> 
 
    </GetDataResponse> 
 
    </s:Body> 
 
</s:Envelope>

+0

GetDataResponse是从GetData的名称生成的。您可以重命名GetData或为[OperationContract]属性添加一个不同的'Name'属性。或者制作你自己的WSDL。 – spodger

需要以改变(对照)的SOAP请求/ response.For例如使用Messagecontract:创建新的响应类并用MessageContract装饰像的下方。

[MessageContract(IsWrapped=true, 
        WrapperName="GetDataResponse", 
        WrapperNamespace="http://MyCompany.com/Response")] 
    public class GetDataInfo 
    { 
    } 

当WCF服务被调用时,使用上面的类作为resposne对象。 有关详细信息,请参阅http://csharp-video-tutorials.blogspot.in/2013/11/part-10-message-contract-in-wcf_28.html

+0

这个例子正是我所需要的。非常感谢 – Francesco