更改根节点(响应)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>
答
需要以改变(对照)的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
GetDataResponse是从GetData的名称生成的。您可以重命名GetData或为[OperationContract]属性添加一个不同的'Name'属性。或者制作你自己的WSDL。 – spodger