【问题标题】:Invalid SOAP request: HTTP method 'GET' is not POST无效的 SOAP 请求:HTTP 方法“GET”不是 POST
【发布时间】:2014-04-17 09:50:06
【问题描述】:

我在 C# 中调用 (php) web 服务(来自 ClearPass ArubaNetworks)。

但是我收到一个异常,抱怨“无效的 SOAP 请求:HTTP 方法 'GET' 不是 POST”

有人知道问题可能是什么吗?

谢谢!

编辑(包含代码)

using (GuestManagerWebServiceClient client = new GuestManagerWebServiceClient())
        {
            client.ClientCredentials.UserName.UserName = "*********";
            client.ClientCredentials.UserName.Password = "*********";

            EmptyType pingRequest = new EmptyType();
            ResultType pingResponse = client.Ping(pingRequest);

            Console.WriteLine("error: {0}, message: {1}", pingResponse.error, pingResponse.message);
            Console.ReadLine();
        }

【问题讨论】:

  • 您使用的是 HTTP GET 而不是 POST?错误似乎很明显。
  • 请始终包含相关的代码部分
  • 通过 POST 发送(通过 Wireshark 检查)
  • 这个问题值得补充。也许服务器期望一些其他数据作为您丢失的 POST 项目附加。是否允许空请求?

标签: c# php web-services aruba


【解决方案1】:

GET 和 POST 是两种主要的 HTTP 方法。 GET 通常用于请求数据,并且只需要一个简单的 URL,可能带有参数。虽然它已用于其他用途,但并非用于更改服务器状态。

POST 表示回发的数据,通常包括要发送到服务器的数据附件,服务器可以对其进行操作或存储在某处。

发出 http 请求时 - 它通常是这些方法之一 - 尽管还有一些不常用的方法。

比我的解释(好多了,好多了) - 看到这个 - http://www.w3schools.com/TAGS/ref_httpmethods.asp

【讨论】:

  • 通过 POST 发送(通过 Wireshark 检查)
猜你喜欢
  • 2016-09-09
  • 2020-05-22
  • 2019-11-30
  • 2011-06-06
  • 1970-01-01
  • 1970-01-01
  • 2015-08-06
  • 2021-12-09
  • 1970-01-01
相关资源
最近更新 更多