【发布时间】:2009-09-30 21:21:17
【问题描述】:
一位同事为我提供了一个 Web 服务,我通过创建一个快速的 .net 3.5 项目进行了测试。该服务公开了一个返回 DataTable 的简单方法,一切正常。
不过,生产项目是 .net 1.1,我在创建 Web 服务对象的行上遇到运行时错误:
命名空间 'web/InternetData' 中的 XML 元素 '' 已存在于当前范围内。使用 XML 属性为元素指定另一个 XML 名称或命名空间。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 异常详细信息:System.InvalidOperationException:命名空间“web/InternetData”中的 XML 元素“”已存在于当前范围内。使用 XML 属性为元素指定另一个 XML 名称或命名空间。 源错误: 在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。 堆栈跟踪: [InvalidOperationException:来自命名空间“http://web/InternetData”的 XML 元素“”已存在于当前范围内。使用 XML 属性为元素指定另一个 XML 名称或命名空间。] System.Xml.Serialization.XmlReflectionImporter.AddUniqueAccessor(INameScope 范围,访问器访问器)+866695 System.Xml.Serialization.XmlReflectionImporter.AddUniqueAccessor(MemberMapping 成员,INameScope 元素,INameScope 属性,布尔 isSequence)+84 System.Xml.Serialization.XmlReflectionImporter.InitializeStructMembers(StructMapping 映射,StructModel 模型,Boolean openModel,String typeName,RecursionLimiter 限制器)+1553 [InvalidOperationException:出现反映“AccountNumberResult”的错误。] System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, RecursionLimiter limiter) +843 System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(String elementName, String ns, XmlReflectionMember[] members, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, XmlMappingAccess access) +130 System.Web.Services.Protocols.SoapReflector.ImportMembersMapping(XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, Boolean serviceDefaultIsEncoded, Boolean rpc, SoapBindingUse use, SoapParameterStyle paramStyle, String elementName, String elementNamespace, Boolean nsIsDefault, XmlReflectionMember[] members, Boolean validate, Boolean字符串键,布尔型 writeAccess) +223 System.Web.Services.Protocols.SoapReflector.ReflectMethod(LogicalMethodInfo 方法信息,布尔客户端,XmlReflectionImporter xmlImporter,SoapReflectionImporter soapImporter,字符串 defaultNs)+2989 [InvalidOperationException:无法反映方法 Service.CashieringSupport_By_AccountNumber。]
我的第一个想法是创建一个单独的 2.0 项目,转储数据以供 1.1 项目重新使用,但这似乎是不必要的步骤。
【问题讨论】:
标签: .net web-services soap compatibility