Публикация конечной точки JAX-WS со встроенной Jetty 7 - PullRequest
8 голосов
/ 26 октября 2009

Кто-нибудь может помочь с этим?

Я хочу использовать встроенную Jetty 7 в качестве конечной точки. Вот что я попробовал:

public class MiniTestJetty {

@WebService(targetNamespace = "http")
public static class Calculator {

    @Resource
    WebServiceContext context;

    public int add(int a, int b) {
        return a + b;
    }
}


public static void main(String[] args) throws Exception {
    int port = 8080;
    Server server = new Server(port);

    Calculator calculator = new Calculator();
    Endpoint.publish("http://localhost:" + port + "/calc", calculator);

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

}

Но я не вижу, действительно ли он использует Jetty вместо стандартного Sun HttpServer.

Один упомянутый блог

 System.setProperty("com.sun.net.httpserver.HttpServerProvider",
       "org.mortbay.jetty.j2se6.JettyHttpServerProvider");

Но, похоже, такого нет в HttpServerProvider в Jetty 7.

Спасибо за любую помощь, Аксель.

Ответы [ 3 ]

4 голосов
/ 29 октября 2009

Все, что нужно, кажется

System.setProperty("com.sun.net.httpserver.HttpServerProvider", "org.mortbay.jetty.j2se6.JettyHttpServerProvider");

Текущий код участника от jetty-contrib / org / mortgay / jetty / j2se6 еще не готов для Jetty 7. Вот и все.

3 голосов
/ 26 мая 2010

Вы можете просто открыть URL-адрес WSDL в Firefox и проверить заголовки ответов с помощью Firebug. Вы должны получить что-то вроде:

HTTP/1.1 200 OK
Content-Type: text/xml;charset=utf-8
Transfer-Encoding: chunked
Server: Jetty(7.1.2.v20100523)
2 голосов
/ 09 сентября 2015

Класс был переименован в

org.eclipse.jetty.http.spi.JettyHttpServerProvider

И я взял это из http://download.eclipse.org/jetty/updates/jetty-bundles-9.x/9.0.6.v20130930/:

V9.0.6 для Java 7
V9.3.2 для Java 8

...