java - 使用 axis1.4 不考虑超时

标签 java axis

我在初始化 Web 服务 stub 时设置超时,我什至在调用之前使用 getTimeout() 记录它以确保它已设置,但无论设置的超时值如何,调用都会完成。这可能是一个错误还是我在这里遗漏了什么?

下面是我的代码:

proxy = new DCPControllerWSPortTypeProxy();
proxy.setEndpoint(endpoint);            
((Stub)proxy.getDCPControllerWSPortType()).setTimeout(120000);

最佳答案

要解决此问题,您必须在项目中的任意位置添加以下类。当我遇到类似的问题时,我在实例化我的 stub 的同一个类中将其声明为私有(private)类。 (我目前正在使用 Axis 2)

private class CustomNetworkClient extends sun.net.NetworkClient
{

    public CustomNetworkClient(int readTimeout)
    {
        defaultSoTimeout = readTimeout;

    }

}

完成后,您可以在代码中添加以下行,这将设置超时。

CustomNetworkClient client = new CustomNetworkClient(SOAP_READ_TIMEOUT);

或者您可以简单地执行以下操作,因为您并不真正需要正在创建的对象:

new CustomNetworkClient(SOAP_READ_TIMEOUT)

这之前已被报告为错误,其中在使用 HTTPS 连接时未设置连接超时和读取超时:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4700777

以下链接帮助我找到了解决方法: http://www.noizeramp.com/article.php?article=se-networking_specifics_under_Java_Web_Start

我希望这能以某种方式帮助你 =)

关于java - 使用 axis1.4 不考虑超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7715339/

相关文章:

java - 未调用 paintComponent

matlab多个x轴一个在另一个下面

javax.net.ssl.SSLException : Unrecognized SSL message, 明文连接?

java - 如何判断 Web 服务客户端何时未成功接收有效负载

java - 陷入 JOptionPane 循环

javascript - 提供 UML 作为带有代码的文档是个好主意吗?

java - Spring MVC 和 jquery post 请求与 POJO 数组

java - 敏捷明智 - 更改类似代码的最佳方法是什么(私有(private)类)

java - 如何查看Axis2发送和接收的内容?

python - 圆柱面上点的最佳拟合 Axis