第一个 web 服务保存数据但第二个 web 服务看不到它(有一点)

问题描述 投票:0回答:0

这是我至少几年来一直在努力解决的最奇怪的问题。

我在 Wildfly 上运行了一堆 java web 服务(soap),它们使用 jconnector 连接到 mysql 数据库。我有一个有趣的问题,一个 web 服务调用有许多无错误和功能调用。工艺流程如下:

  1. 应用程序请求 WebService A 保存一些数据。
  2. WebService A 做一些非常简单的计算(不是时间或资源密集型)并将数据插入数据库并返回插入记录的 ID(自动增量 ID)。
  3. WebService A 然后调用不同的 Rest 服务向客户发送包含此已保存信息的格式化文档。 WebService A 将记录的 ID 发送到 Rest 服务。
  4. Rest 服务调用不同的 Web 服务“B”,将记录的 ID 传递给它以检索该 ID 的数据。 Web 服务“B”找不到 ID 并得到一个空值。
  5. 如果我绕过调用 Rest 服务并从 WebService 'A' 调用 WebService 'B' 来检索记录,它的所有查找和花花公子(立即保存)。然而,当我从 WebService 'A' 转到 Rest Service 然后调用 WebService 'B' 时,它找不到它。就像将帖子添加到 Rest Service 中一样。

所有数据库连接、语句、结果集都正常关闭。那里没有泄漏。我什至玩过 Thread.sleeps 和静态方法。将 Http Client post call 移动到不同的地方。这太疯狂了,让我发疯。我知道它正在保存,因为我从插入返回生成的键(所以我知道要发送到 Rest 服务以使用此数据格式化文档的 ID)。但随后 Rest Service 调用 WebService 'B' 来检索该记录,但它不存在。这不是数据库连接问题。我可以使用 WebService A 中的数据访问对象,并在保存后立即检索保存的记录。我可以手动调用 WebService B 并检索它。

任何人对我应该测试什么有任何建议。我从字面上看没有代码问题。我一遍又一遍地经历它。

java mysql jdbc soap wildfly
© www.soinside.com 2019 - 2024. All rights reserved.