Мне нужно написать приложение, которое принимает в качестве входных данных только адрес веб-службы (на данный момент это может быть просто простой http-адрес с конфигурацией веб-службы по умолчанию, созданной во всех типичных вводных примерах WCF для Visual Studio). Затем мне нужно определить контракт на обслуживание и все методы контракта (а также типы параметров).
Теперь я не нахожу в сети примеров того, как это сделать. Однако WcfTestClient.exe из VS2008 делает именно это. Вы вводите адрес, кажется, что он подключается к нему в течение нескольких секунд (поэтому я предполагаю, что он не просто анализирует файл wsdl, так как это не займет даже 1 секунду), а затем показывает все контракты и Методы по контракту для вас в аккуратном списке. Кроме того, WSDL не показывает точные типы параметров для методов контракта.
Как я могу сделать это программно сам? Если это тестовое приложение просто вызывает wsdl.exe и генерирует прокси-классы в фоновом режиме, а затем использует отражение, я, вероятно, не смогу пойти по этому пути, так как я не могу вызвать командную строку .exes в моей программе. Если это так, то мой вопрос: как я могу делать то, что делает wsdl.exe ... только адрес веб-службы и получать всю информацию, необходимую для этих прокси-классов. И, конечно, где-нибудь используйте Reflection, и это мой первый приз.
Будем весьма благодарны за любую другую помощь, касающуюся того, с чего начать. Я довольно новичок в WCF и веб-сервисах, так что будьте осторожны.
Спасибо!