没有代理类的.NET Web服务

时间:2009-01-06 17:58:45

标签: .net web-services reflection proxy-classes

我正在尝试创建一个应用程序,它允许我在任意web服务上执行在运行时指定的方法(我还将在运行时提供其URL)。我已经想出如何使用Type.InvokeMember来执行任意方法,但是如何在不创建代理类的情况下指定要使用的Web服务。

我发现How do I call a webservice without a web reference?如果我已经拥有WSDL并且只有URL会改变,这将帮助我,但我希望能够调用任何web服务并获取结果。

感谢。

3 个答案:

答案 0 :(得分:1)

对于WCF,您需要拥有代理类或服务实现的接口,因此您不太可能通过WCF执行此操作(但是,WCF是无限可扩展的,因此可能有办法。

您可以随时启动HttpWebRequest对象并对服务进行“老派”调用并自行解析结果。

答案 1 :(得分:0)

你应该看看WCF的动态代理(我很抱歉,但我现在似乎可以找到它的链接) - 这是一个允许你在运行时检查服务的库(如果他们发布了他们的元数据) ,并调用方法(不需要元数据)。

编辑:实际上,似乎Codeplex上有一个项目就是这样做:SIF

答案 2 :(得分:0)

您应该可以使用WebRequest拨打电话。你必须自己组建message的身体,但这并不是很难。