java - apache cxf 无法发送消息并读取超时

标签 java apache timeout cxf

可能是什么原因:

org.apache.cxf.interceptor.Fault:无法发送消息。

Caused by: java.net.SocketTimeoutException: SocketTimeoutException 调用 https://xxx.xxx.xxx.xxx:8443/services/test: 读取超时

它通常发生在我向 ws 发送 soap 请求之后。我正在使用 apache cxf。我完全确定 ws 已启动并正在运行,因为在超时发生之前,客户端将再发送 2 个请求。超时发生在第三个 soap 请求中。

最佳答案

我的网络服务客户端也遇到过这个错误。对我有用的解决方案是在 CXF 配置文件 (cxf.xml) 中配置 http 客户端。

Apache CXF document 中所述:

1.添加http-conduit命名空间和xsd:

<beans ...
       xmlns:http-conf="http://cxf.apache.org/transports/http/configuration
       ...
       xsi:schemaLocation="...
           http://cxf.apache.org/transports/http/configuration
           http://cxf.apache.org/schemas/configuration/http-conf.xsd
       ...">

2. 添加 http-conduit 标签/元素并将 ReceiveTimeout/ConnectionTimeout 设置为 300000 毫秒:

<http-conf:conduit name="*.http-conduit">
      <http-conf:client 
                      ConnectionTimeout="300000"
                      ReceiveTimeout="300000"/>       
</http-conf:conduit>

关于java - apache cxf 无法发送消息并读取超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14623705/

相关文章:

java - 如何在不暂停整个程序的情况下暂停方法?

java - 如何在 Spring Boot REST API 上设置超时?

java - 如何从(非 Activity )Java 类调用 Activity 类中定义的方法

apache - Ubuntu 14.4.01 子域上的 Symfony2 - 缺少 Assets

java - Jetty 9 FontAwesome 空图标

apache - XAMPP本地主机未以管理员权限运行

php - 未知的 SSL 证书出现在 ssllabs.com 服务器测试中

javascript - jquery超时解决方案?

java - 解析嵌套的 JSON

java - 收到的 Intent 破坏了 Activity