【发布时间】:2019-09-08 23:25:14
【问题描述】:
我们有一个 asmx Web 服务 A,它使用具有以下 DataContract 结构的 WCF 服务 B。
[DataContract]
public class Animal
{
[DataMember]
string AnimalName { get; set; }
[DataMember]
Head[] head { get; set; }
}
[DataContract]
public class Person
{
[DataMember]
string PersonName { get; set; }
[DataMember]
Head[] head { get; set; }
}
[DataContract]
public class Head
{
[DataMember]
string Title { get; set; }
}
我们在运行 asmx Web 服务 A 时收到以下错误。
类型“Animal.Head”和“Person.Head”都使用命名空间“http://tempuri.org/”中的 XML 类型名称“Head”。使用 XML 属性为该类型指定唯一的 XML 名称和/或命名空间。
我们还尝试在 DataContract 中放置一个不同的 XMLElement 命名空间,但没有帮助。
[XmlElement(Namespace = "urn:/A/Animal/")]
[DataMember]
Head[] head { get; set; }
非常感谢您对此的任何帮助。
【问题讨论】:
-
它是否可以在没有命名空间的情况下工作?尝试 [XmlElement("Head")] 或完全省略。
标签: c# wcf xml-serialization asmx