利用 WAS V6.1 开发安全可靠的 Web Services,第 2 部分:实现可靠的消息传递
2010-03-26 00:00:00 来源:WEB开发网可以看到本条消息是对上一条服务调用消息的回复,因此消息中 SequenceAcknowledge 元素下 MessageNumber 值为 1,Identifier 值为 urn:uuid:1D24784FA504F2842A1188808922780。同时本条消息又是这个消息序列中服务提供者向客户及发送的第一条消息,其 Identifier 为 urn:uuid: 1D24784FA504F2842A1188808922480。因此,服务提供方要等待客户机的一个确认消息。
最后客户端发送接受确定报文,与收到的服务响应报文一样,该报文的 Identifier 为 urn:uuid: 1D24784FA504F2842A1188808922480:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsa="http://www.w3.org/2005/08/addressing">
<soapenv:Header>
<wsrm:SequenceAcknowledgement xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"
soapenv:mustUnderstand="1">
<wsrm:Identifier>urn:uuid:1D24784FA504F2842A1188808922480</wsrm:Identifier>
<wsrm:AcknowledgementRange Lower="1" Upper="1"/>
</wsrm:SequenceAcknowledgement>
<wsa:To>http://localhost:9090/Services/CalculatorService</wsa:To>
<wsa:MessageID>urn:uuid:1D24784FA504F2842A1188808923131</wsa:MessageID>
<wsa:Action>http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</wsa:Action>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>
到此,可靠的 Web Services 就开发完成了。尝试停止服务提供方应用程序,再调用 Web Services 可以发现服务器会不断的重发请求消息,直到重新启动服务提供方。
结束语
WS-Reliable Message 确保 Web Services 消息传递到目的地,如果消息丢失则通过再次传递杜绝消息丢失。此规范使发送方和接收方能够保证一组消息中的服务质量。它有助于应用程序开发者处理旧问题、维护中断和阻碍消息完成的其他问题。通过本文,您可以对 WS-Reliable Messaging 规范有一个初步的了解,并懂得如何通过在 WebSphere Application Server(WAS) v6.1 上通过策略集的配置实现可靠的消息传输。您可以通过本文提供的参考资源获得更多关于 WS-Reliable Messaging 的信息
更多精彩
赞助商链接