如何使用 .net 框架 2.0 在 Web 服务中使用 Web api

Posted

技术标签:

【中文标题】如何使用 .net 框架 2.0 在 Web 服务中使用 Web api【英文标题】:How to consume a webapi in webservice using .net framework 2.0 【发布时间】:2016-06-28 07:27:15 【问题描述】:

我需要使用一个使用 java 开发的 webapi 服务。连接到 api 时出现“无法检索 ' ' 的资源”的错误。

当我通过soapUI 使用相同的api 时,我能够得到响应。 我错过了什么吗?

using (WebClient client = new WebClient())

    try
    
        client.Headers.Clear();
        client.Headers[HttpRequestHeader.ContentType] = "application/xml";
        client.Headers[HttpRequestHeader.Accept] = "application/xml";
        byte[] data = Encoding.UTF8.GetBytes(StrRequestXML);
        byte[] result = client.UploadData("url+soapaction", "POST", data);
        string xmlResponse = System.Text.Encoding.UTF8.GetString(result);
     
     catch (WebException ex)
     
         throw ex;
     

【问题讨论】:

你能捕捉到与 fiddler 类似的消息并与你制作的消息进行比较吗? 解决了,我发错网址了。谢谢 @Swapy 如果是由于“拼写错误”(错误的网址)引起的,请关闭您的问题 【参考方案1】:

我认为问题出在这里:

byte[] result = client.UploadData("url+soapaction", "POST", data);

您传递字符串"url+soapaction",但应该有接收数据的资源的URI。

也许你的意思

byte[] result = client.UploadData(url + soapaction, "POST", data);

【讨论】:

以上是关于如何使用 .net 框架 2.0 在 Web 服务中使用 Web api的主要内容,如果未能解决你的问题,请参考以下文章

如何创建 Web 服务 | ASP.NET 2.0 | C# |网页服务

从头编写 asp.net core 2.0 web api 基础框架

从 ASP.Net Web 服务 json 输出中删除“d”对象

在访问外部 Web 服务 (.NET 2.0) 之前获取代理配置

应用程序中断访问 dbcontext、Asp .net 核心 web api 2.0 与实体框架核心 2.0 数据库第一种方法

将 Web 应用程序从 2.0 迁移到 3.5 框架的最快和最佳方法?