我正在开发基于 WSDL 的 Web 服务并使用 Apache Axis 2。我不是 Web 服务方面的专家,与我一起工作的人声称,为了使这个特定的 Web 服务能够工作两个必须在同一连接上进行调用,即使用 http keep-alive (基本上有一个“提交事务”方法需要在“保存”方法之后调用)。这似乎是一个很常见的问题,但我在谷歌上没有找到任何东西。
我想知道是否有办法明确告诉 Axis 执行此操作。另外,我如何验证是否确实在同一连接上进行了两个调用。我想像wireshark这样的HTTP监控软件可能能够告诉我这一点,但我还没有安装它。
最佳答案
与你一起工作的人是错误的。即使可以通过使用 keep-alive 来优化单个 TCP 连接上的多个请求,这种优化对于调用者或被调用者来说应该是透明的,例如如果客户端在保持 Activity 连接上相继发出两个请求,或者使用两个单独的连接,那么这并不重要。
Java 库(客户端的 HttpURLConnection 和服务器端的 servlet API)甚至不提供对此信息的访问,因此使用软件无法知道 HTTP 请求的实际执行方式。
关于java - 在同一连接上进行 Web 服务调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4472042/