轴客户端存根超时的问题

我正在编写一个使用Web服务连接远程服务器的应用程序。我已经编写了一个ping函数的方法来确定服务器是否在线(即它提供了可以使用host:port访问的Web服务).I我执行一个简单的Web服务,超时2秒(在我打电话之前作为存根类中的选项提供)。理想情况下,调用应该在2秒内返回,这样我就可以确定服务器是启动还是关闭。但在某些情况下它需要超过2秒。

任何人都可以帮我弄清楚为什么会发生这种情况吗?有没有办法确保超时值得到尊重?

谢谢,下跌

不要使用默认的http发送方,切换到基于http客户端的公共发送方。 详细信息在这里 – http://wiki.apache.org/ws/FrontPage/Axis/AxisCommonsHTTP – 同一页面上有关于如何设置各种超时的详细信息。

在Axis客户端存根中,您可以选择设置超时。 你也可以使用它。 请注意,超时以毫秒为单位。 在这里查看

如果它是Axis2,你可以像这样使用:

Stub s = new Stub(); ServiceClient sc = s.getServiceClient(); Options o = sc.getOptions(); o.setTimeOutInMilliSeconds(2000); //2 seconds sc.setOptions(o); s.setServiceClient(sc); 

您可以在设置上述内容后拨打电话。