当我添加webservice引用(不是服务引用)时,我获得了相同的元素,重命名后缀为1,如图所示。这在我尝试调试时会导致错误。内部例外说
Message = Types'service.AddressType1'和'service.AddressType'都使用来自命名空间'xxx'的XML类型名称'AddressType'。使用XML属性为类型指定唯一的XML名称和/或命名空间。
我理解错误,我已经看到一些不同的线程,这些告诉我,我应该指定不同的命名空间,但我没有在我的代理类中的任何地方定义AddressType1。我只有AddressType。从哪里获取AddressType1或其他? 其他人得到了这个错误?谢谢你的帮助。
答案 0 :(得分:1)
此答案还讨论了分层命名空间的问题(似乎您可能正在这样做),因此这可能是您的主要问题:Classes in different sub-namespaces all appear at top level in WSDL
您可能需要指定XmlTypeAttribute。您能提供代码样本以供审核吗?
答案 1 :(得分:0)
我继承了使用xsd2code工具生成的代理类。问题是这个工具为父xsd类正确生成了命名空间,但是当我检查子类中由其他父类共享/共同的类时,看起来命名空间字段为空,如下所示。因此,我的服务引用具有相同的属性/类,具有1个后缀,如问题所示。我刚为这些子/继承类添加了相同的命名空间,它工作正常,没有重复的属性。我希望这有助于其他有类似问题的人。
System.Xml.Serialization.XmlRootAttribute([Namespace]:="", IsNullable:=True), _