Веб-сервис .NET без прокси-класса - PullRequest
2 голосов
/ 06 января 2009

Я пытаюсь создать приложение, которое позволит мне выполнить метод, указанный во время выполнения, на произвольном веб-сервисе (URL-адрес которого я также предоставлю во время выполнения). Я выяснил, как использовать Type.InvokeMember для выполнения произвольного метода, но как мне указать веб-сервис для использования без создания прокси-класса.

Я нашел Как позвонить в веб-службу без веб-ссылки? , которая поможет мне, если у меня уже есть WSDL и изменится только URL, но я хотел бы иметь возможность звонить любой веб-сервис и получить результат.

Спасибо.

Ответы [ 3 ]

1 голос
/ 06 января 2009

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

Вы всегда можете просто раскрутить объект HttpWebRequest и сделать «старый школьный» вызов в службу и проанализировать результаты самостоятельно.

0 голосов
/ 06 января 2009

Вы сможете совершать вызовы, используя WebRequest . Вам придется сформировать тело сообщения самостоятельно, но это не очень сложно.

0 голосов
/ 06 января 2009

Вы должны взглянуть на Dynamic Proxy для WCF (извините, но я могу найти ссылку на него прямо сейчас) - это библиотека, которая позволяет вам проверять сервисы во время выполнения (если они публикуют свои метаданные) , а также вызывать методы (для этого не нужны метаданные).

Редактировать: на самом деле, кажется, что на Codeplex есть проект, который делает именно это: SIF

...