2009-10-26 9 views
8

Quelqu'un peut-il vous aider? Je souhaite utiliser une Jetty 7 intégrée comme point de terminaison. Voilà ce que j'ai essayé:Publication d'un point de terminaison JAX-WS avec Jetty intégrée 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(); 
} 

}

Mais je ne peux pas voir si celui-ci utilise vraiment la jetée à la place du soleil par défaut HttpServer.

Un blog de mentionné

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

Mais il ne semble pas être tel HttpServerProvider à la jetée 7.

Merci pour toute aide, Axel.

+0

ressemble à il y a du code dans la section contrib de Jetty 6 qui fait quelque chose de similaire mais rien dans Jetty 7 – axelrose

Répondre

4

Tout ce qui est nécessaire semble être

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

Le code actuel contrib de la jetée-contrib/org/mortgay/jetée/J2SE6 est pas encore prêt pour la jetée 7. C'est tout.

+0

Comment avez-vous compris cela s'il vous plaît? –

3

Vous pouvez simplement ouvrir l'URL du WSDL dans Firefox et vérifier les en-têtes de réponse avec Firebug. Vous devriez obtenir quelque chose comme:

HTTP/1.1 200 OK 
Content-Type: text/xml;charset=utf-8 
Transfer-Encoding: chunked 
Server: Jetty(7.1.2.v20100523)