Создание форм Windows из WSDL - PullRequest
1 голос
/ 15 июня 2011

У меня есть набор веб-служб WCF, которые мне нужны для создания тестового клиента на базе Windows.Кто-нибудь знает инструмент, который будет использовать WSDL и автоматически генерировать некоторые базовые формы, основанные на том, что находится в WSDLЛюбые мысли о том, как я могу получить базовую форму с полями / метками без необходимости явно создавать форму.Есть мысли?

Ответы [ 2 ]

2 голосов
/ 15 июня 2011

Если это только для тестирования, я бы предложил отличный инструмент SOAP UI , и бесплатная версия достаточно способна, но только у про версии есть ввод на основе графического интерфейса. Другой инструмент, который я использовал кратко - WCF Storm .

В противном случае взгляните на этот тестовый клиентский код, который очень похож на то, что вы хотите http://www.larswilhelmsen.com/2008/10/04/wcf-test-client-extended/

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

Это можно сделать. Вам нужно будет динамически скомпилировать прокси в сборку и отразить ее и использовать отражение для построения ваших форм. Я делал это в прошлом для ASMX WSDL, еще не пробовал это для WCF WSDL.

Вы можете использовать класс CSharpCodeProvider для компиляции кода и создать ServiceDescription для загрузки WSDL, затем сгенерировать код с использованием класса ServiceDescriptionImporter и затем скомпилировать его. Это может потребовать настройки для служб WCF, но вы можете выполнить поиск по этим элементам и, возможно, найти отличные ссылки. Если у вас есть прокси-классы, это просто потому, что вы создаете формы на лету с помощью отражения.

У меня был очень хороший инструмент тестирования WSDL, который мы использовали для тестирования до того, как Microsoft выпустила тестовый клиент WCF. К сожалению, это частная собственность, поэтому я не могу опубликовать исходный код. Однако, по сути, я скомпилировал WSDL, поместил все веб-методы в список, и когда вы выбрали веб-метод, он изучил бы параметры веб-метода с помощью отражения и построил форму внутри панели с помощью AddControl ().

Если у вас есть какие-либо вопросы, просто отправьте мне пинг, и я отправлю вам несколько фрагментов кода по электронной почте ...

...