我在Java和Weblogic中有一个简单的Web服务。在这个Web服务中,我有一个接收一些数据的方法,调用另一个web服务,写入DB然后用结果回答。
如果我只用一次调用就可以尝试它,但是,如果我尝试使用Soap UI,创建一个TestCase,你可以在多个线程中调用Web服务,有时,它可以正常工作,但有时,当在另一个中间有呼叫时,结果不正确。
问题是,当我调用web服务方法时,我初始化一些变量,我必须分析并保存在DB中,因此,如果调用中断,这些变量会更新,当第一次调用完成时,结果不正确(它们带有初始值)。
如果我在网络服务方法中使用同步它可行,但我认为这不是最好的方法,因为我想同时允许多个用户。
最好的方法是什么?
非常感谢
答案 0 :(得分:0)
当您开始编写客户端特定的应用程序时,您需要在数据库中保留客户端状态的数据。 因此,当每个客户端使用其cookie /会话访问您的Web服务器时,您可以获取客户端ID(在cookie /会话中加密)并根据DB中客户端的值评估服务器端参数。
答案 1 :(得分:0)
感谢kolossus发表评论,我已经解决了删除全局变量并仅创建局部变量的问题,因此每次调用都会创建一个新变量而不会覆盖常见变量。