因此,我们的应用程序需要支持动态调用在编译时未知的Web服务。因此,用户应该能够指定WSDL的URL,并为请求和回复参数指定一些数据绑定。
当谷歌搜索答案时,似乎这样做的方法是在运行时实际编译Web服务代理类,加载它,并使用反射调用方法。
我认为这似乎是一种相当笨重的方法,因为当我要动态地转换数据时,我并不需要一个强类型的类。动态编译代码以执行简单的操作,这似乎只是错误的方法。
将自己限制为SOAP协议,是否有任何C#库可以实现此协议的动态使用?我可以想象,可以从WSDL生成运行时键/值数据结构,可以用来指定请求消息,以及读取回复。然后,库应该能够将格式良好的SOAP消息发送到服务器,并解析回复,而无需程序员手动生成XML(至少不是头文件和其他管道)。
我似乎无法找到任何实际执行此操作的库。我想要做的事情是那么深奥,还是我只是在错误的地方搜索过?
谢谢,
Ulrik合作
答案 0 :(得分:0)
我认为您需要反映未知网络服务的签名才能知道如何调用它。
但是,一旦知道需要调用什么,就可以在运行时使用javascript ajax调用来编译webservice代理。例如,您可以使用jquery.ajax()为未知的Web服务创建XMLHttpRequest(一旦知道要调用的内容)。
答案 1 :(得分:0)
我正在寻找这样的解决方案,似乎WSIF就是解决方案