Проблемы с размещением службы .NET с использованием ссылки на службу, созданной с помощью SvcUtil.exe: ошибки XmlSerializer в режиме Wrapped - PullRequest
4 голосов
/ 06 июня 2011

Извините за название, но это лучшее, что я могу сделать на данный момент ...

Моя проблема заключается в следующем:

  • Здесь http://www.opcfoundation.org/webservices/XMLDA/1.0/ Я использую VS2010 для создания сервисной ссылки.Я создаю его без проблем.

  • Я хочу реализовать интерфейс службы, создавая мою службу.Поэтому я реализую интерфейс Service.

  • Я создаю файл SVC:

    <% @ ServiceHost Language = "C #" Debug = "true" Service = "Полное имя класса (класс, реализующий интерфейс службы) "%>

ОК, я получил это:

Атрибут XmlSerializer System.Xml.Serialization.XmlAttributeAttribute недопустим в LocaleID.Когда IsWrapped имеет значение true, поддерживаются только атрибуты XmlElement, XmlArray, XmlArrayItem, XmlAnyAttribute и XmlAnyElement.

Позвольте мне указать следующее: Не запрашивать файл Web.config, имеет ли он конфигурацию модели сервисанастройки или нет, это не отличается, та же проблема сохраняется.

В чем проблема ???

Я хотел бы решить эту проблему, я хотел бы отметить, что вВ прошлом кто-то другой использовал wsdl.exe для создания ссылки на службу asp.net, которая использует WebService и WebMethod в качестве атрибутов службы, такой подход не приводит к этой ошибке.Но я бы хотел использовать WCF ...

Спасибо

Ответы [ 2 ]

1 голос
/ 06 июня 2011

Эта ссылка поможет вам, она имеет прямое объяснение проблемы и возможные пути выхода.

0 голосов
/ 28 июня 2013

У меня была такая же проблема со спецификацией OPC DA. Я перешел на старый стиль .NET Webservices (веб-ссылка вместо сервисной ссылки). Веб-сервисы .NET принимают спецификацию WSDL основания OPC.

Вот шаги, которые я предпринял для создания такого прокси:

  1. Создание проекта .NET v2 .
  2. Добавить веб-ссылку на http://www.opcfoundation.org/webservices/XMLDA/1.0
  3. Настройте параметры проекта, чтобы он снова компилировался для .NET v4.
  4. Используйте прокси.

Это не идеальное решение, но оно лучше, чем создание собственной оболочки.

...