6

我正在将 cxf 库用于 Web 服务客户端。

当响应迟到大约 5 秒时,cxf 需要大约 20 秒才能返回响应。ws 返回一个33912长响应。

不过,客户对快速响应没有任何问题。

我找不到问题所在。我测试了 ws 端点,它在 8 秒内返回最大值。但是 cxf 客户端有时需要 30-50 秒。

我打开调试日志,这两行之间需要9秒

2018-01-11 17:17:14.022 DEBUG 10492 --- [nio-8086-exec-6] o.apache.cxf.transport.http.HTTPConduit:将带有标头的 POST 消息发送到 http://example.com/服务 管道:{ http://example.com./ }ExampleWebServicePort.http-conduit

2018-01-11 17:17:23.370 调试 10492 --- [nio-8086-exec-6] org.apache.cxf.endpoint.ClientImpl :总线贡献的拦截器:[org.apache.cxf.ws.policy. PolicyInInterceptor@3ec595ab]

这是客户端:

HTTPConduit httpConduit = (HTTPConduit) client.getConduit();
            httpConduit.setAuthSupplier(null);
            httpConduit.setAuthorization(null);
            HTTPClientPolicy clientPolicy = new HTTPClientPolicy();
            clientPolicy.setConnectionTimeout(60000L);
            clientPolicy.setReceiveTimeout(60000L);
            httpConduit.setClient(clientPolicy);

什么可能导致这个问题?

4

1 回答 1

1

问题是我认为服务器响应速度很快,但我使用错误的端点进行测试。
当我测试正确的端点时,我意识到服务器确实响应迟了。
客户端的响应时间与服务器的响应时间相匹配。

于 2018-01-13T21:00:34.087 回答