Https CXF超时

时间:2014-10-16 14:50:20

标签: java apache timeout cxf

我尝试使用支持网关的WebService,它使用HTTPS作为协议,并使用apache cxf客户端。

问题是我的所有请求都超时了,但是当我使用curl到同一个WebService时,我得到的响应没有任何问题。

当我登录支付网关的管理区域时,我的所有尝试都没有任何错误,所以我可以说问题是在某处作出回应。

堆栈跟踪在下方。

  

org.apache.cxf.interceptor.Fault:无法发送消息。     at org.apache.cxf.interceptor.MessageSenderInterceptor $ MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)     在org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)     在org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:510)     在org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:440)     在org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:343)     在org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:295)     在org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:75)     在org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)     at com.sun.proxy。$ Proxy1074.authorize(Unknown Source)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)     在java.lang.reflect.Method.invoke(Method.java:597)

     

引起:java.net.SocketTimeoutException:读取超时     在jrockit.net.SocketNativeIO.readBytesPinned(本机方法)     在jrockit.net.SocketNativeIO.socketRead(SocketNativeIO.java:32)     在java.net.SocketInputStream.socketRead0(SocketInputStream.java)     在java.net.SocketInputStream.read(SocketInputStream.java:129)     at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:422)     at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:460)     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:863)     在com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:820)     at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)     在java.io.BufferedInputStream.fill(BufferedInputStream.java:218)     在java.io.BufferedInputStream.read1(BufferedInputStream.java:258)     在java.io.BufferedInputStream.read(BufferedInputStream.java:317)     在weblogic.net.http.MessageHeader.isHTTP(MessageHeader.java:224)     在weblogic.net.http.MessageHeader.parseHeader(MessageHeader.java:148)     在weblogic.net.http.HttpClient.parseHTTP(HttpClient.java:468)     在weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:401)     在weblogic.net.http.SOAPHttpsURLConnection.getInputStream(SOAPHttpsURLConnection.java:37)     在weblogic.net.http.HttpURLConnection.getResponseCode(HttpURLConnection.java:1005)     at org.apache.cxf.transport.http.HTTPConduit $ WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1509)     at org.apache.cxf.transport.http.HTTPConduit $ WrappedOutputStream.handleResponse(HTTPConduit.java:1467)     at org.apache.cxf.transport.http.HTTPConduit $ WrappedOutputStream.close(HTTPConduit.java:1375)

2 个答案:

答案 0 :(得分:0)

您可能希望从Apache CXF src更改receiveTimeout设置,并替换服务器中现有的cxf-rt-transports-http-version.jar。

请参阅Wildfly 8.2/undertow read time out

中的说明

答案 1 :(得分:0)

检查您是否落后于Web代理,这就是为什么它在curl中工作但不是通过Apache CXF工作。