2014-10-16 5 views
0

Я пытаюсь использовать WebService платежного шлюза, который использует протокол HTTPS в качестве протокола, и я использую клиент apache cxf.Https CXF таймаут

Проблема: я получаю тайм-аут ко всем моим запросам, но когда я использую завиток к тому же WebService, я получаю ответ без каких-либо проблем.

Когда я вхожу в админ-зону шлюза оплаты, все мои попытки там без ошибок, поэтому я могу сказать, что проблема где-то в ответе.

Стеклопакет внизу.

org.apache.cxf.interceptor.Fault: Не удалось отправить сообщение. в 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) at org.apache.cxf.endpoint.ClientImpl.invoke (ClientImpl.java:440) at 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 (Неизвестный источник) на sun.reflect.NativeMethodAccessorImpl.invoke0 (нативный метод) на sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) на sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) в java.lang .reflect.Method.invoke (Method.java:597)

Вызванный: java.net.SocketTimeoutException: Read таймаут на jrockit.net.SocketNativeIO.readBytesPinned (Native Method) в jrockit.net.SocketNativeIO. socketRead (SocketNativeIO.java:32) на java.net.SocketInputStream.socketRead0 (SocketInputStream.java) на java.net.SocketInputStream.read (SocketInputStream.java:129) на com.sun.net.ssl.internal.ssl.InputRecord.readFully (InputRecord.java:422) на com.sun.net.ssl.internal.ssl.InputRecord.read (InputRecord.java:460) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord (SSLSocketImpl.java:863) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord (SSLSocketImpl.java:820) at com. sun.net.ssl.internal.ssl.AppInputStream.read (AppInputStream.java:75) at java.io.BufferedInputStream.fill (BufferedInputStream.java:218) at java.io.BufferedInputStream.read1 (BufferedInputStream.java: 258) at java.io.BufferedInputStream.read (BufferedInputStream.java:317) at weblogic.net.http.MessageHeader.isHTTP (MessageHeader.java:224) at weblogic.net.http.MessageHeader.parseHead er (MessageHeader.java:148) at weblogic.net.http.HttpClient.parseHTTP (HttpClient.java:468) at weblogic.net.http.HttpURLConnection.getInputStream (HttpURLConnection.java:401) на weblogic.net. http.SOAPHttpsURLConnection.getInputStream (SOAPHttpsURLConnection.java:37) на weblogic.net.http.HttpURLConnection.getResponseCode (HttpURLConnection.java:1005) в 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.близко (HTTPConduit.java:1375)

+0

Как долго длится запрос при использовании завитка? Полагаю, у CXF есть тайм-аут по умолчанию, равный 60 секундам, поэтому вам может понадобиться удлинить его. Если вам нужна помощь в настройке этого тайм-аута, отправьте код/​​конфиг, используемый для создания клиента CXF. – Patrick

+0

Использование curl занимает всего одну или две секунды, и я получаю ответ. Я использую 90 секунд для таймаута, но у меня все еще есть эта проблема. –

ответ

0

Вы можете изменить настройки ReceiveTimeout от Apache CXF ЦСИ и заменить существующие CxF-RT-транспортов-HTTP-version.jar на сервере.

Смотрите инструкции от Wildfly 8.2/undertow read time out

0

Проверьте, если вы находитесь за прокси-сервер, поэтому он работает в завиток, но не через через Apache CXF.

Смежные вопросы