пользовательские типы данных в параметрах web методов
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



пользовательские типы данных в параметрах web... Expand / Collapse
Автор
Сообщение
12.07.2006 16:05
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 02.08.2008 10:18
Сообщ.: 143, Visits: 1 405
Доброе время суток !

Например я определил сборку со структурой, которая используется как параметр метода  web - службы :

 namespace W{ struct A{ public String str; } } 

Сборка подписана и присутствует у клиента, и у самой web-службы.

Есть метод web-службы 

 public Boolean AddChapter( out W.A a ){...} 

Создаю клиентское приложение, например Client, добавляю ссылку на web-службу, использую прокси сгенерированную VS2005 по умолчанию. Получаю, что в проски метод имеет сигнатутру : 

  public Boolean AddChapter( out Client.localhost.A a ){...} 
Как заставить прокси использовать тип определённый в сборке ? Проблема в том, что в сборке определены методы вызываемые на клиенте, с параметром тип которого данная структура, а типы , таким образом, получаются разные.

Спасибо.

Men in black

Сообщ. #900577
15.07.2006 15:16
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Интересный вопрос. Можно попробовать сгенерировать прокси-класс с помощью утилиты wsdl, затем вручную заменить название типа на нужное тебе. Полученный файл затем добавь в проект. Ссылку на веб-сервис в этом случае нужно будет удалить, чтобы VS не пыталась самостоятельно генерировать прокси.
Сообщ. #900774
16.07.2006 22:11
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 02.08.2008 10:18
Сообщ.: 143, Visits: 1 405
Спасибо, bazile !

Я вот, к тому-же выводу пришёл. Незнаю, для того, кто будет пользовать мой web-сервис это дополнительный напряг. Как-то не изящно выходит. Если бы не эта штука, всё полчалось бы красиво - человек пишет приложение использующие мой web-сервис, добавляет ссылку на сборку с типами и всё. Наверное придётся всё по-другому делать.

Интересно, как wsdl.exe распознаёт .net типы, могу предположить, что используется аттрибут. Искал, однако, не нашёл.

Men in black

Сообщ. #900789
17.07.2006 10:39
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Попробуй посмотреть что содержит WSDL файл для твоего веб-сервиса. Из наверняка станет понятно как в веб-сервисе определюятся .NET типы.
Сообщ. #900797
17.07.2006 22:36
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 02.08.2008 10:18
Сообщ.: 143, Visits: 1 405
Ручной правкой прокси удалось-таки достичь необходимого.

Men in black
Сообщ. #900900
18.07.2006 9:41
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Отлично!
Сообщ. #900928
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Alexey Spirin

Время GMT +3:00, Сейчас 6:17