利用 WAS V6.1 开发安全可靠的 Web Services,第 2 部分:实现可靠的消息传输

在 第 1 部分 中我们介绍了如何开发基于 JAX-WS 的 Web Services,本文将在此基础上介绍如何在 WebSphere Application Server(WAS) v6.1 上通过策略集的配置实现可靠的消息传输。本文首先介绍 WS-Reliable Messaging 规范,然后再介绍在 WAS6.1 具体的配置过程。

WS-Reliable Messaging

在 WS-Reliable Messaging v1.0 中收发双方的消息示例流程如下:



  • 首先有发送方 A 发起整个消息序列的建立过程。在 SOAP 报文中,会有 CreateSequence 元素;
  • 收到该消息后,接收方 B 发送消息序列建立回应,在报文中出现 CreateSequenceResponse 元素;
  • 接着发送方发送了 3 条消息,其 MessageNumber 分别为 1,2,3。其中第二条消息丢失了。
  • 当 B 收到消息 1 和 3 后,向 A 回复 SequenceAcknowledgement,并指定

AcknowledgementRange=1,3,这就说明在传输的过程中消息 2 丢失了;

  • A 重新发送消息 2;
  • B 收到消息 2 后,发送 SequenceAcknowledgement 并指定 AcknowledgementRange=1…3,这就说明从消息 1 到消息 3 已经全部收到;
  • 最后 A 在收到所有回应消息后,结束消息序列,TerminateSequence。

在 WS-Reliable Messaging v1.1 中,消息可靠传输的机制又有所不同,尤其是针对同步双向的消息传输,使用了 MakeConnection 机制。该机制中,接收方根据 MakeConnection 消息中提供的地址进行回复,但在 WS-ReliableMessaging v1.0 中并不支持该机制。由于本文中使用标准 WS-Reliable Messaging v1.0,因此关于 WS-Reliable Messaging v1.1 的具体内容就不再一一赘述,更多详细信息可以参考在本文最后提供的参考资料。





回页首


第一步:配置可靠消息传输的策略集

在 WAS6.1 中可以使用 policy set 的绑定机制来实现服务质量。为了能够使用策略集,需要安装 feature pack for web service 补丁包。启动 WAS6.1 服务器,在控制台上选择服务 -> 策略集 -> 应用策略集,在右边的窗口中将显示出 WAS6.1 中所有的策略集。点击新建一个策略集 testplicy。


利用 WAS V6.1 开发安全可靠的 Web Services,第 2 部分:实现可靠的消息传输_第1张图片

在新建的策略集对话框中输入策略集的名字:testpolicy,点击确定。


本文转自:IBM developerWorks 中国

请点击此处查看全文


你可能感兴趣的:(利用 WAS V6.1 开发安全可靠的 Web Services,第 2 部分:实现可靠的消息传输)