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