科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Web服务规范SOAP之通过GET访问服务

Web服务规范SOAP之通过GET访问服务

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在 SOAP 1.2 推出之前,使用 HTTP 访问基于 SOAP 的 Web 服务的唯一方法是使用 POST 请求。您将需要创建能创建 POST 请求并使用 SOAP 消息作为请求的内容的客户机。

作者:佚名 来源:论坛整理 2007年11月17日

关键字: Web服务 SOAP GeT

  • 评论
  • 分享微博
  • 分享邮件
 在 SOAP 1.2 推出之前,使用 HTTP 访问基于 SOAP 的 Web 服务的唯一方法是使用 POST 请求。您将需要创建能创建 POST 请求并使用 SOAP 消息作为请求的内容的客户机。不过,SOAP 1.2 定义了使用 GET 请求访问基于 SOA 的 Web 服务的方法。

  GET 与 POST 对比

  继续我们的讨论之前,务必了解通过 HTTP 的 GET 和 POST 请求的区别。尽管很多 Web 程序员所进行的处理似乎表明二者之间是可以互换的,但实际上二者的用途并不相同。GET 中的所有关于所请求的资源的信息都包含在 URL(通常作为参数),仅用于等幂请求。这些请求是没有“副作用”的请求。也就是说,应该能够数十次、数百次、数千次地调用这个请求,但这个请求不会更改任何东西。例如,请求 Albuquerque 的当前气温的 Web 请求就是等幂请求。而将注释传入到博客数据库的 Web 请求则不是。

  这是因为 GET 请求可以添加到用户的书签,能在不会引发警告的情况下进行访问。还可以对其进行引用,而不会引发警告。另一方面,POST 请求将其信息包含在请求的正文中,因此很难进行随机的重复。

  就 SOAP 而言,这意味着应该能够对仅检索信息而不进行更改的 SOAP 请求使用 GET。对于进行更改的任何操作,仍然都应使用 POST。

  访问服务

  在 Axis2 中,可以生成 GET 请求,服务器会将其转换为 SOAP 消息,然后将有效负载作为结果返回。例如,请将浏览器指向清单 31 中所示的位置。

  清单 31. 访问服务

  http://localhost:8080/axis2/services/CMSService/getNumberOfArticles?category=classifieds

  如果使用 0.94 版,将看到清单 32 中所示的响应。

  清单 31. SOAP 有效负载响应

  <resp:numberOfArcticles>42</resp:numberOfArcticles>

  不过,这并不十分准确。根据 SOAP 1.2 建议规范,应该能够看到整个 SOAP 响应。这在 Axis2 将来的版本中可能会发生更改。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章