|
|
|
Supreme 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
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Интересный вопрос. Можно попробовать сгенерировать прокси-класс с помощью утилиты wsdl, затем вручную заменить название типа на нужное тебе. Полученный файл затем добавь в проект. Ссылку на веб-сервис в этом случае нужно будет удалить, чтобы VS не пыталась самостоятельно генерировать прокси.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 02.08.2008 10:18
Сообщ.: 143,
Visits: 1 405
|
|
| Спасибо, bazile ! Я вот, к тому-же выводу пришёл. Незнаю, для того, кто будет пользовать мой web-сервис это дополнительный напряг. Как-то не изящно выходит. Если бы не эта штука, всё полчалось бы красиво - человек пишет приложение использующие мой web-сервис, добавляет ссылку на сборку с типами и всё. Наверное придётся всё по-другому делать. Интересно, как wsdl.exe распознаёт .net типы, могу предположить, что используется аттрибут. Искал, однако, не нашёл.
Men in black
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Попробуй посмотреть что содержит WSDL файл для твоего веб-сервиса. Из наверняка станет понятно как в веб-сервисе определюятся .NET типы.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 02.08.2008 10:18
Сообщ.: 143,
Visits: 1 405
|
|
Ручной правкой прокси удалось-таки достичь необходимого.
Men in black
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
|
|
|