我需要教导可能会收到 HTTP SOAP 调用,但调用者可能由于网络故障(以及其他问题)而无法获得响应。(这个问题使得WS-ReliableMessaging得以开发)
你们如何向 Web 服务开发人员展示这个问题,以便他们可以在考虑到可能收到重复消息的情况下进行开发?
问题是他们不明白一个 HTTP 调用可能会被服务器完美地接收并作用于服务器,但对调用者的响应可能会丢失。
我需要教导可能会收到 HTTP SOAP 调用,但调用者可能由于网络故障(以及其他问题)而无法获得响应。(这个问题使得WS-ReliableMessaging得以开发)
你们如何向 Web 服务开发人员展示这个问题,以便他们可以在考虑到可能收到重复消息的情况下进行开发?
问题是他们不明白一个 HTTP 调用可能会被服务器完美地接收并作用于服务器,但对调用者的响应可能会丢失。
用用例图或时间线展示传输过程中的故障事件呢?
为什么不显示随时间在客户端和服务器 SOAP 运行时之间来回传递的消息的图表?此图可以显示消息在某个时间点丢失或重复到达或无序到达的消息。
这很简单。您有两条垂直线表示客户端和服务器彼此平行。然后,您在两者之间标记了线(对角线)以指示消息。一条消息在传输中丢失,就像诊断行中的 X 一样,它在到达客户端或服务器之前。希望这可以帮助。
我找到的最佳答案是:
HTTP 请求必须是幂等的,因为它们可能由于网络问题而被执行多次
http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Idempotent_methods_and_web_applications
SAP 有一个关于这个问题的非常好的页面:http: //help.sap.com/saphelp_nw73/helpdata/en/c8/35883707e94534b2bda403237ee523/content.htm
我已经看到通过 UML 序列图描述的这种类型的事情。我认为它运作良好,当然大多数开发人员都熟悉序列图。
您可能会在这里得到一些好主意: http ://www.eventhelix.com/Realtimemantra/Networking/#HTTP_Sequence_Diagrams
干杯,