gpt4 book ai didi

c# - 在运行时动态调用 Web 服务

转载 作者:太空宇宙 更新时间:2023-11-03 16:54:19 24 4
gpt4 key购买 nike

因此,我们的应用程序需要支持动态调用编译时未知的 Web 服务。因此,用户应该能够指定 WSDL 的 URL,并为请求和回复参数指定一些数据绑定(bind)。

当使用谷歌搜索答案时,看起来这样做的方法是在运行时实际编译一个 Web 服务代理类,加载它,然后使用反射调用方法。

我认为这似乎是一种相当笨拙的方法,因为当我无论如何要动态转换数据时,我并不真正需要一组强类型的类。动态编译代码来做一些简单的事情似乎也是错误的做法。

仅限于 SOAP 协议(protocol),是否有任何 C# 库实现此协议(protocol)以供动态使用?我可以想象,从 WSDL 生成运行时键/值数据结构是可能的,它可用于指定请求消息,以及读取回复。然后,该库应该能够向服务器发送格式良好的 SOAP 消息,并解析回复,而无需程序员手动生成 XML(至少不是 header 和其他管道)。

我似乎找不到任何真正执行此操作的库。是我想做的事情真的那么深奥,还是我只是找错地方了?

谢谢,

乌里克

最佳答案

我认为您需要反射(reflect)未知网络服务的签名才能知道如何调用它。

但是,您可以在运行时使用 javascript ajax 调用,而不是编译 web 服务代理,一旦您知道需要调用什么。例如,您可以使用 jquery.ajax()向未知的 Web 服务发出 XMLHttpRequest(一旦您知道要调用什么)。

关于c# - 在运行时动态调用 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2743333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com