Yesky首页| 产品报价| 行情| 手机 | 数码 | 笔记本 | 台式机 | DIY硬件 | 外设 | 网络 | 数字家庭 | 评测 | 软件 | e时代 | 游戏 | 图片 | 壁纸 | 群乐 | 社区 | 博客 | 下载
软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|产品中心下载什么是软件架构
您现在的位置: 天极网 > 开发频道 > Web服务规范SOAP之通过GET访问服务
全文
群乐:SOA

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

2007-11-12 13:13 作者: 佚名 出处: 论坛整理 责任编辑:方舟

  在 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 将来的版本中可能会发生更改。

网友关注
最新上市
编辑推荐
欢迎订阅天极网RSS聚合资讯:http://www.yesky.com/index.xml