gpt4 book ai didi

c# - 在 C# 中以编程方式调用 webmethods

转载 作者:太空狗 更新时间:2023-10-29 23:42:17 25 4
gpt4 key购买 nike

我正在尝试编写一个函数,它可以在给定方法名称和网络服务 URL 的情况下从网络服务器调用网络方法。我在博客上找到了一些代码,除了一个细节外,这些代码都可以很好地完成这项工作。它还要求提供请求 XML。这里的目标是从 web 服务本身获取请求 XML 模板。我确信这在某种程度上是可能的,因为如果我在浏览器中访问 Web 服务的 URL,我可以同时看到请求和响应 XML 模板。

这是以编程方式调用网络方法的代码:

XmlDocument doc = new XmlDocument();
//this is the problem. I need to get this automatically
doc.Load("../../request.xml");
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://localhost/dummyws/dummyws.asmx?op=HelloWorld");
req.ContentType = "text/xml;charset=\"utf-8\"";
req.Accept = "text/xml";
req.Method = "POST";
Stream stm = req.GetRequestStream();
doc.Save(stm);
stm.Close();
WebResponse resp = req.GetResponse();
stm = resp.GetResponseStream();
StreamReader r = new StreamReader(stm);
Console.WriteLine(r.ReadToEnd());

最佳答案

根据上面的评论。如果您有一个描述您的服务的 WSDL 文件,您可以将其用作与您的网络服务通信所需的信息。

使用代理类与您的服务代理通信是一种从 HTTP 和 XML 的底层管道中抽象出来的简单方法。

有多种方法可以在运行时执行此操作 - 本质上是生成 Visual Studio 在您向项目添加 Web 服务引用时生成的代码。

我使用的解决方案基于:this newsgroup question , 但也有 other examples out there .

关于c# - 在 C# 中以编程方式调用 webmethods,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2973488/

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