Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jetty-users] IOException - "existing connection was forcibly closed" while using JAX-WS SPI


Hi, I'm getting an exception whenever I call my jax-ws web service using jax-ws generated client.

In fact, the web service is responsive, client gets the result successfully but there is this exception in the log for each request:

2011-02-28 12:46:17,288 [pool-1-thread-15] DEBUG log:70 - EOF
org.eclipse.jetty.io.EofException
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:321)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:214)
    at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:520)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
    at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.IOException: An existing connection was forcibly closed by the remote host
    at sun.nio.ch.SocketDispatcher.read0(Native Method)
    at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:25)
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:233)
    at sun.nio.ch.IOUtil.read(IOUtil.java:206)
    at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:207)
    at org.eclipse.jetty.io.nio.ChannelEndPoint.fill(ChannelEndPoint.java:157)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:292)
    ... 7 more

I am using embeddeb jetty with jax-ws spi api:

public static void main(String[] args) throws Exception {
        Server server = new Server(8070);
       
        HandlerCollection handlers=new HandlerCollection();
        handlers.addHandler(new ContextHandlerCollection());
        handlers.addHandler(new DefaultHandler());
        handlers.addHandler(new RequestLogHandler());
       
        server.setHandler(handlers);
       
        System.setProperty("com.sun.net.httpserver.HttpServerProvider",
                "org.mortbay.jetty.j2sehttpspi.JettyHttpServerProvider");
       
        JettyHttpServerProvider.setServer(server);
       
        String context = "/web/ws";
        MyWebServiceImpl a = new MyWebServiceImpl();
        Endpoint.publish("http://localhost:8070" + context, a);

        server.start();
        server.join();

    }


Back to the top