Java 在同一连接上进行web服务调用

Java 在同一连接上进行web服务调用,java,web-services,http,axis2,Java,Web Services,Http,Axis2,我正在开发一个基于WSDL的web服务,并使用ApacheAxis2。我不是web服务方面的专家,与我一起工作的人声称,为了让这个特定的web服务工作,必须在同一个连接上进行两个调用,即使用http保持活动(基本上有一个“提交事务”方法,需要在“保存”方法之后调用)。这似乎是一个相当普遍的问题,但我在谷歌上没有发现任何东西 我想知道是否有办法明确告诉Axis这样做。此外,我如何验证是否在同一个连接上确实进行了两个呼叫。我想一些HTTP监控软件,如wireshark可能会告诉我这一点,但我还没有安

我正在开发一个基于WSDL的web服务,并使用ApacheAxis2。我不是web服务方面的专家,与我一起工作的人声称,为了让这个特定的web服务工作,必须在同一个连接上进行两个调用,即使用http保持活动(基本上有一个“提交事务”方法,需要在“保存”方法之后调用)。这似乎是一个相当普遍的问题,但我在谷歌上没有发现任何东西

我想知道是否有办法明确告诉Axis这样做。此外,我如何验证是否在同一个连接上确实进行了两个呼叫。我想一些HTTP监控软件,如wireshark可能会告诉我这一点,但我还没有安装它。

您可以使用nmap查看每个端口上实际运行的内容


但若同时进行2个调用,axis2将抛出端口已绑定错误。任何端口都不能同时处理2个请求(我的意见)。也许你可以把它排成一列,然后连续地做。但也要和其他来源确认一下

和你一起工作的人错了。即使可以通过使用keep-alive通过单个TCP连接处理多个请求来优化HTTP,这种优化对调用者或被调用者都应该是透明的,例如,客户机在keep-alive连接上是否先发出两个请求,或者是否使用两个单独的连接都不重要


Java库(客户端的HttpURLConnection和服务器端的servlet API)甚至不提供对这些信息的访问,因此使用的软件无法知道HTTP请求实际上是如何执行的。

我唯一剩下的问题是,是否有一个提交事务方法不带任何参数,服务器如何知道事务?web服务/Axis是否包含一些会话跟踪机制,比如随每个请求一起传递的唯一会话id?否则,创建我使用的web服务的人不知道他们在做什么,这是不可能的。