Can anybody help with this?
I want to use an embedded Jetty 7 as Endpoint. This is what I tried:
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 = 80开发者_JS百科80;
Server server = new Server(port);
Calculator calculator = new Calculator();
Endpoint.publish("http://localhost:" + port + "/calc", calculator);
server.start();
server.join();
}
}
But I cannot see whether this really uses Jetty instead of the default sun HttpServer.
One blog mentioned
System.setProperty("com.sun.net.httpserver.HttpServerProvider",
"org.mortbay.jetty.j2se6.JettyHttpServerProvider");
But there doesn't seems to be such HttpServerProvider in Jetty 7.
Thanks for any help, Axel.
All what is necessary seems to be
System.setProperty("com.sun.net.httpserver.HttpServerProvider", "org.mortbay.jetty.j2se6.JettyHttpServerProvider");
The current contrib code from jetty-contrib/org/mortgay/jetty/j2se6 is not ready yet for Jetty 7. That's all.
You could simply open the URL of the WSDL in Firefox and check the response headers with Firebug. You should get something like:
HTTP/1.1 200 OK
Content-Type: text/xml;charset=utf-8
Transfer-Encoding: chunked
Server: Jetty(7.1.2.v20100523)
The class was renamed to
org.eclipse.jetty.http.spi.JettyHttpServerProvider
And i took it from http://download.eclipse.org/jetty/updates/jetty-bundles-9.x/9.0.6.v20130930/:
V9.0.6 for Java 7
V9.3.2 is for Java 8
精彩评论