2016-01-29 3 views
0

У меня возникла очень странная ошибка при использовании SOAP WebServices. Странная это здесь является то, что клиент работает отлично на тестовом сервере, но при попытке на сервере производства, он не с чтения тайм-аут:Очень странная ошибка клиента Apache CXF

[com.ctc.wstx.exc.WstxLazyException] Read timed out 

Что такое даже странно, что код клиента же SOAP базы, которые у меня есть при производстве, когда я запускаю локально на своей машине против производства. Сервер SOAP WebService работает отлично. Исключение составляет только в нашей производственной клиентской среде для производства SOAP WebService. Я совершенно не согласен с этим, и я пытался получить корень этой проблемы с одним из моих коллег по сети за последние 4 часа без успеха. Любые подсказки?

Я использую Apache CXF!

ответ

0

Это была очень сложная проблема. Вот исключение, которое я получил:

Caused by: com.ctc.wstx.exc.WstxIOException: Read timed out 
    at com.ctc.wstx.sr.StreamScanner.constructFromIOE(StreamScanner.java:633) ~[org.codehaus.woodstox.woodstox-core-asl-4.4.1.jar:4.4.1] 
    at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:1007) ~[org.codehaus.woodstox.woodstox-core-asl-4.4.1.jar:4.4.1] 
    at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4647) ~[org.codehaus.woodstox.woodstox-core-asl-4.4.1.jar:4.4.1] 
    at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3722) ~[org.codehaus.woodstox.woodstox-core-asl-4.4.1.jar:4.4.1] 
    at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3676) ~[org.codehaus.woodstox.woodstox-core-asl-4.4.1.jar:4.4.1] 
    ... 39 common frames omitted 
Caused by: java.net.SocketTimeoutException: Read timed out 
    at java.net.SocketInputStream.socketRead0(Native Method) ~[na:1.7.0_51] 
    at java.net.SocketInputStream.read(SocketInputStream.java:152) ~[na:1.7.0_51] 
    at java.net.SocketInputStream.read(SocketInputStream.java:122) ~[na:1.7.0_51] 
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) ~[na:1.7.0_51] 
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:275) ~[na:1.7.0_51] 
    at java.io.BufferedInputStream.read(BufferedInputStream.java:334) ~[na:1.7.0_51] 
    at sun.net.www.http.ChunkedInputStream.readAheadBlocking(ChunkedInputStream.java:552) ~[na:1.7.0_51] 
    at sun.net.www.http.ChunkedInputStream.readAhead(ChunkedInputStream.java:609) ~[na:1.7.0_51] 
    at sun.net.www.http.ChunkedInputStream.read(ChunkedInputStream.java:696) ~[na:1.7.0_51] 
    at java.io.FilterInputStream.read(FilterInputStream.java:133) ~[na:1.7.0_51] 
    at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:3053) ~[na:1.7.0_51] 
    at com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155) ~[org.codehaus.woodstox.woodstox-core-asl-4.4.1.jar:4.4.1] 
    at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368) ~[org.codehaus.woodstox.woodstox-core-asl-4.4.1.jar:4.4.1] 
    at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111) ~[org.codehaus.woodstox.woodstox-core-asl-4.4.1.jar:4.4.1] 
    at com.ctc.wstx.io.MergedReader.read(MergedReader.java:105) ~[org.codehaus.woodstox.woodstox-core-asl-4.4.1.jar:4.4.1] 
    at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:86) ~[org.codehaus.woodstox.woodstox-core-asl-4.4.1.jar:4.4.1] 
    at com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:56) ~[org.codehaus.woodstox.woodstox-core-asl-4.4.1.jar:4.4.1] 
    at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:1001) ~[org.codehaus.woodstox.woodstox-core-asl-4.4.1.jar:4.4.1] 
    ... 42 common frames omitted 

Имейте в виду, что WstxIOException указывает на приложения не в состоянии разобрать входящее сообщение SOAP. В нашем случае сообщение SOAP было отправлено сервером в куски, и наше приложение не получало все куски. Был некоторый сетевой брандмауэр, который отбрасывал некоторые пакеты размером более 1024 КБ. Это происходило на уровне tcp.

Как только наши сетевые ребята увеличили размер входящих пакетов, он начал работать мгновенно!

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