0

当我添加 web 服务引用(不是服务引用)时,我得到相同的元素,并将后缀重命名为 1,如图所示。当我尝试调试时,这会导致错误。内部异常说

Message=Types 'service.AddressType1' 和 'service.AddressType' 都使用来自命名空间 'xxx' 的 XML 类型名称 'AddressType'。使用 XML 属性为类型指定唯一的 XML 名称和/或命名空间。

我理解这个错误,我已经在这里看到了一些不同的线程,这些线程告诉我应该指定不同的命名空间,但我没有在代理类的任何地方定义 AddressType1。我只有地址类型。我从哪里得到 AddressType1 或其他?其他人有这个错误吗?谢谢你的帮助。

重复对象

4

2 回答 2

1

你看过这个答案吗?继承现有的 .Net 类序列化错误

这个答案还讨论了分层命名空间的问题(似乎你可能正在这样做),所以这可能是你的主要问题:不同子命名空间中的类都出现在 WSDL 的顶层

看来您可能需要指定 XmlTypeAttribute。您能否提供您的代码示例以供审核?

于 2013-09-30T14:19:41.743 回答
0

我继承了使用 xsd2code 工具生成的代理类。问题是这个工具为父 xsd 类正确生成了命名空间,但是当我检查子类中由其他父类共享/公共的类时,命名空间字段似乎为空,如下所示。因此,如问题所示,我的服务参考多次具有相同的属性/类,并带有 1 个后缀。我刚刚为那些子类/继承类添加了相同的命名空间,它工作正常并且没有重复的属性。我希望这对其有类似问题的其他人有所帮助。

 System.Xml.Serialization.XmlRootAttribute([Namespace]:="", IsNullable:=True), _
于 2013-11-18T13:23:27.263 回答