Исключение отражения веб-сервиса - PullRequest
1 голос
/ 15 сентября 2009

Доброе утро,

У меня есть небольшая дилемма.

У меня есть ссылка на веб-сервис в проекте C #. Этот веб-сервис вызывает метод PlaceOrder. Этот объект имеет свойство Item, которое имеет тип объекта.

Когда я создаю экземпляр клиента веб-сервиса, я получаю исключение: «Произошла ошибка, отражающая« Элемент ».». Это обычная сгенерированная ссылка на веб-сервис в .net 3.5.

    OrderServiceClient orderService = new OrderServiceClient();
    orderService.Open(); <== exception occures here
    orderService.Close();

Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 15 сентября 2009

Понятия не имеет, что ожидать в этом свойстве; Вы включили [XmlInclude] и т. д.? Но object просто не работает на веб-сервисе.

Идеальный ответ - сделать веб-сервис более конкретным, поэтому он имеет (например) Customer (напечатанный так). Может быть, вы можете привести пример того, как серверный код выглядит для этого? Я удивлен, что это работает на сервере ...


Re comment; Хм ... если это третье лицо, это может быть очень сложно; вам, возможно, придется прибегнуть либо к редактированию генерирующего кода (, если XmlInclude работает, что я не могу гарантировать), либо к взлому wsdl ... не просто Звучит , как будто вы используете ссылку на веб-сервис 2.0 (косвенно, wsdl.exe). Вы также можете попробовать:

  • WSE3 (wse3wsdl.exe)
  • WCF (в .NET 3.0 и avove; svcutil.exe)
0 голосов
/ 15 сентября 2009

Хорошо, я нашел решение этой проблемы.

Нам удалось изменить веб-сервис, чтобы дать другой ответ.

Я обсудил это с моим менеджером и парой старших инженеров и архитекторов и решил это на уровне бизнеса.

Поскольку другие приложения .net и java также используют этот сервис (которые еще не были собраны). Таким образом, любой взлом, который нам нужно реализовать, не является решением этой проблемы.

Подвести итог:

  • Нет хорошего решения этой проблемы (пока)
  • Всегда думайте о том, насколько многократно используется ваш дизайн :) 1014 *

EDIT: Я узнал, что если вы превращаете объект в объект [], он внезапно работает. Зачем? я не знаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...