(разве веб-сервис не независим?) веб-сервис работает в проектах .net 2.0+, но не в .net 1.1 - PullRequest
0 голосов
/ 01 октября 2009

Мне предоставил коллегу веб-сервис, который я протестировал, создав быстрый проект .net 3.5. служба предоставляет простой метод, который возвращает DataTable, и все прекрасно работает.

Тем не менее, рабочий проект - .net 1.1, и я получаю сообщение об ошибке во время выполнения в строке, которая создает объект веб-службы:


The XML element '' from namespace 'web/InternetData' is already present in the current scope. Use XML attributes to specify another XML name or namespace for the element. 

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.InvalidOperationException: The XML element '' from namespace 'web/InternetData' is already present in the current scope. Use XML attributes to specify another XML name or namespace for the element.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  

Stack Trace: 
[InvalidOperationException: The XML element '' from namespace 'http://web/InternetData' is already present in the current scope. Use XML attributes to specify another XML name or namespace for the element.]
   System.Xml.Serialization.XmlReflectionImporter.AddUniqueAccessor(INameScope scope, Accessor accessor) +866695
   System.Xml.Serialization.XmlReflectionImporter.AddUniqueAccessor(MemberMapping member, INameScope elements, INameScope attributes, Boolean isSequence) +84
   System.Xml.Serialization.XmlReflectionImporter.InitializeStructMembers(StructMapping mapping, StructModel model, Boolean openModel, String typeName, RecursionLimiter limiter) +1553

[InvalidOperationException: There was an error reflecting '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 openModel, String key, Boolean writeAccess) +223
   System.Web.Services.Protocols.SoapReflector.ReflectMethod(LogicalMethodInfo methodInfo, Boolean client, XmlReflectionImporter xmlImporter, SoapReflectionImporter soapImporter, String defaultNs) +2989

[InvalidOperationException: Method Service.CashieringSupport_By_AccountNumber can not be reflected.]

Моя первая мысль - создать отдельный проект 2.0, который создает дамп данных для повторного использования проектом 1.1, но это кажется ненужным шагом.

1 Ответ

2 голосов
/ 02 октября 2009

Веб-сервисы должны быть независимыми от платформы - если вы не сделаете что-то, чтобы сделать их зависимыми от платформы. Что-то вроде возврата данных, которые зависят от платформы. Что-то вроде DataTable.

...