细节:

接口合同:

[OperationContract]
[WebGet(UriTemplate = "test")]
TestType TestOperation();


类型定义:

[System.Xml.Serialization.XmlRoot(ElementName = "Test", Namespace="http://test.net/", IsNullable=false)]
public partial class TestType {


实际结果:

<TestType xmlns=http://schemas.datacontract.org/2004/07/ …


预期结果:

<Test xmlns= http://test.net/ …


请指教。

最佳答案

该服务使用DataContractSerializer序列化响应,因此需要数据协定名称空间。为了覆盖这一点,我建议如下将XmlSerialzeFormat属性应用于该操作...

[OperationContract]
[WebGet(UriTemplate = "test")]
[XmlSerializerFormat]
TestType TestOperation();

10-06 09:02