是否应在HTTP同步请求中交换自生成的事务ID

时间:2017-03-31 13:16:18

标签: http soap transactions client-server synchronous

我是HTTP世界的新手。如果问题太微不足道,我真诚地道歉。

我创建了一个HTTP客户端,它将SOAP消息发送到第三方服务器。我的客户端发送同步请求,超时值为15秒。 API用于更新用户平衡,因此非常关键。我在SOAP请求中发送userId,并将数量从用户余额添加/扣除到服务器。服务器响应状态为0 = SUCCESS或1 = FAILURE

现在考虑到服务器可能发生多次故障,并且我可能会在一天内为同一个用户多次点击服务器,如果在消息部分中添加了事务ID。如果是,那么它的用例是什么。根据我的理解,客户端总是知道它启动了哪个交易,因此它可以自己进行交易记账。我还需要每天协调与服务器的事务(这可能发生在使用userId)。

注意:服务器API正在开发中,现在可以更改。

2 个答案:

答案 0 :(得分:0)

TCP将提供基础可靠连接,因此您是正确的,每个客户端SOAP请求不需要额外的机制来跟踪其来自服务器的响应。但是,如上所述,额外的消息级别GUID有助于进行故障排除。如果遇到问题,它将允许您稍后跟踪和跟踪到服务器的确切客户端消息。

答案 1 :(得分:0)

首先,对于任何敏感的事情都使用HTTPS而不是HTTP。

接下来,听起来您的客户端是持久的(即不是浏览器)。在这种情况下,从客户端可以存储的服务器返回交易ID是有用的,正如您所说,这有利于日常审计。这可能很有用,因为对于审计请求,除了其他数据外,服务器还可以返回一组您可以检查的交易ID。