Hi,

I believe this is the same issue as I encountered recently, please see my post here[1]

[1]http://cxf.547215.n5.nabble.com/Caused-by-java-net-SocketException-Unexpected-end-of-file-from-server-td4715340.html

Freeman
On 2011-7-8, at 下午6:34, xuhb wrote:

Recently I always encounter a "Unexpected end of file from server" Exception at CXF client side. it seems this exception is caused by the CXF Serverside has unexcepted release the http connection ;

I tried some effort to to use a simple test case to regenerate such a exception; Following is a simple test case which will cause such a exception.

keypoint of the test case:
1)MTOM enabled;
2)Using Jetty-Transport at serverside, and using SUN JDK's http client at client side; 3)the service logical is simple: first consume all attachment and close it; then wait for a long time (about 10 miniutes); In practice, there is no such a service which will block for so long time, but in the simple test case, I must use such a long time to force such a exception occurs;

4)set the client side 's receiveTime to a infinite time(almost) to avoid receive time out exception. then the client will block to wait service , but after about 7 minutes a ""Unexpected end of file from server" Exception will raised at client side;

Other key points I have tried:
1)At first I guess maybe this is the jetty-server's problem: I guess it will release connection silently while the servlet-handler execute too long time;
 But unfortunately it 's not so .

Because I tried another simple test case, which doesnt generate such a exception . The only difference is: there is no attachment in xml data; Also the service will wait a very long time( 10minutes, 20minutes I have tried) . And the client will blocking util service returned;

Ps: the stack of the Exception is :

org.apache.cxf.interceptor.Fault: Could not send Message.
at org.apache.cxf.interceptor.MessageSenderInterceptor $ MessageSenderEndingInterceptor .handleMessage(MessageSenderInterceptor.java:64)
...
Caused by: java.net.SocketException: SocketException invoking http://localhost:9000/service/moreattachmentsrpcliteral : Unexpected end of file from server
...
at org.apache.cxf.transport.http.HTTPConduit $WrappedOutputStream.mapException(HTTPConduit.java:1385) at org.apache.cxf.transport.http.HTTPConduit $WrappedOutputStream.close(HTTPConduit.java:1370)
...
Caused by: java.net.SocketException: Unexpected end of file from server
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:763)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:626)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:760)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:626)
at sun .net .www .protocol .http.HttpURLConnection.getInputStream(HttpURLConnection.java:983) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java: 367) at org.apache.cxf.transport.http.HTTPConduit $WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1490) at org.apache.cxf.transport.http.HTTPConduit $WrappedOutputStream.handleResponse(HTTPConduit.java:1448) at org.apache.cxf.transport.http.HTTPConduit $WrappedOutputStream.close(HTTPConduit.java:1356)
... 35 more

---------------------------------------------
Freeman Fang

FuseSource
Email:ff...@fusesource.com
Web: fusesource.com
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com









Reply via email to