复制WcfTestClient.exe的功能

时间:2011-05-17 13:29:51

标签: wcf web-services wsdl

我需要编写一个只接受Web服务地址作为输入的应用程序(现在它可以只是一个简单的http地址,默认的Web服务配置是使用所有典型的WCF介绍性Visual Studio示例生成的)。然后,我需要确定服务合同和合同的所有方法(以及参数的类型)。

现在,我没有在网上找到关于如何做到这一点的任何例子。但是,VS2008的WcfTestClient.exe就是这样做的。你键入一个地址,它似乎连接到它几秒钟(所以我猜它不只是解析wsdl文件的信息,因为这不会花费1秒)然后显示所有合同和合同上的方法整齐清单。此外,WSDL没有显示合同方法的确切参数类型。

我如何以编程方式自行完成此操作?如果该测试应用只是调用wsdl.exe并在后台生成代理类然后使用反射,我可能无法走这条路,因为我无法在我的程序中调用命令行.exes。如果是这种情况,我的问题就变成了,我怎样才能做wsdl.exe所做的事情......只有一个Web服务地址并获取这些代理类所需的所有信息。当然在某处使用Reflection,这是我的第一个奖项。

我们将非常感谢有关何处开始解决此问题的任何其他帮助。我对WCF和网络服务都很陌生,所以请注意。

谢谢!

1 个答案:

答案 0 :(得分:1)

http://blogs.msdn.com/b/vipulmodi/archive/2006/11/16/dynamic-programming-with-wcf.aspx查看此帖子。它有你需要的东西,但代码做了一些编译并动态加载新的程序集(我认为是WcfTestClient做的,BTW),所以如果由于某些安全问题你不能从你的程序运行.exe,那么对你来说也可能是一个问题。