详细说明:
接口合同:
[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/ …
请告知。
答案 0 :(得分:3)
该服务使用DataContractSerializer
来序列化响应,因此需要数据协定命名空间。为了覆盖它,我建议将XmlSerialzeFormat属性应用于操作,如下所示......
[OperationContract]
[WebGet(UriTemplate = "test")]
[XmlSerializerFormat]
TestType TestOperation();
答案 1 :(得分:0)
如果这是WCF服务,则默认使用data contract serializers。请尝试使用data contract属性来装饰您的班级:
[DataContract(Name = "Test", Namespace="http://test.net/")]
public partial class TestType {
注意:您还需要将DataMember
属性添加到要序列化的每个字段或属性。