在代码中动态生成基于wsdl文件的代理对象

时间:2011-12-19 18:47:35

标签: c# web-services soap proxy wsdl

您可以动态地在代码中从wsdl文件生成代理对象吗?

我知道我可以使用工具wsdl.exe,但我希望有一个基于URL的代码下载wsdl,并在代码中生成代理对象。

客户端使用C#,Web服务使用Java。

1 个答案:

答案 0 :(得分:0)

Wsdl.exe使用System.Xml和System.Web.Services中的框架类来实现其魔力。但是,除非您特别了解班级名称,否则这些班级很难找到并且很难找到使用谷歌搜索。

一个好主意是查看Mono的wsdl.exe源代码:http://c-cpp.r3dcode.com/files/mono/2/10.2/mcs/tools/wsdl/MonoWSDL2.cs

这将使您获得存根代码。

编辑:John认为asmx是遗留的,而svcutil是要走的路。如果你问我,SOAP本身就是遗产,REST就是你要走的路。但由于问题是SOAP和svcutil被认为是一种更好的技术,所以svcutil的工作原理如下:

http://c-cpp.r3dcode.com/files/mono/2/10.2/mcs/tools/svcutil/Driver.cs