【问题标题】:WebService GET/POST Call and SOAPWebService GET/POST 调用和 SOAP
【发布时间】:2009-11-04 16:11:52
【问题描述】:

我正在通过以下链接:

http://support.microsoft.com/kb/819267

这里解释了为 Web 服务启用 HTTP GET/POST 调用,以便直接通过浏览器调用服务。

问题:

  1. 当我们通过浏览器调用时 使用 GET 还是 POST?它是如何得到的 决定了吗?

  2. 如果我们使用常规 HTTP GET/POST 而不是 SOAP,在哪里 SOAP进来了?或者说是错的 Web 服务总是使用 SOAP 协议来发送接收消息?

【问题讨论】:

    标签: c# .net asp.net wcf web-services


    【解决方案1】:
    1. 如果您通过 URL 的查询字符串传递所有参数,那么您使用的是 GET。如果您使用 Fiddler 来构建请求以显式使用 POST,那么您正在使用 POST。

    2. 如果您将 GET/POST 与 .NET Web 服务一起使用,则根本不会出现 SOAP。您还会注意到,随着服务变得越来越复杂,您将无法通过 GET/POST 调用服务,因为包装数据需要 SOAP 的复杂性。

    【讨论】:

    • +1。谢谢贾斯汀。所以现在我知道我们也可以通过 HTTP GET 和 POST 调用服务,但是 SOAP 是一种标准方式,因为大多数选项、安全性等都不能通过基本的 HTTP 调用获得。
    【解决方案2】:
    1. 如果您发出的请求具有有效负载/请求正文,则将使用 POST 请求。

    2. SOAP 协议定义了发送的消息类型,通常作为 HTTP POST 请求的正文或 HTTP 响应的正文。并非所有 Web 服务都使用 SOAP,尽管它已成为事实上的标准。

    【讨论】:

    • 他指的是使用 .NET 1.1 和 2.0 中可用的特殊 HttpPost 和 HttpPost 协议选项调用 Web 服务,这允许在没有任何 SOAP 格式的情况下调用服务。
    • 谢谢安迪。您能否详细说明“有效载荷”是什么意思?
    • 抱歉,只是 HTTP 请求正文中的数据,所以在本例中是 SOAP 消息。
    • 知道了!.. 感谢您的帮助 :)。
    猜你喜欢
    • 2016-11-20
    • 2019-07-06
    • 2011-06-06
    • 1970-01-01
    • 2011-11-25
    • 2023-04-10
    • 2014-12-07
    • 1970-01-01
    • 2016-08-16
    相关资源
    最近更新 更多