2017-01-30 1 views
4

Je fais quelques premiers pas dans le monde de JAX-WS et utiliser GlassFish 4.Pourquoi ai-je besoin du fichier sun-jaxws.xml sur glassfish 4?

Je viens d'essayer de reconstruire les exemples JavaEE7 Oracle JAX-WS et ont le webservice suivant:

@WebService 
public class Hello { 

    @WebMethod 
    public String sayHello(String name) { 
     System.out.println("Webservice sayHello called..."); 
     return "Hello " + name; 
    } 
} 

Il est rien de plus .. Je l'ai déployé sur glassfish, je peux utiliser le testeur, je peux voir le WSDL - très bien.

Maintenant, je rédigeais le client qui devrait être appelé par une vue JSF2 .. Voici le haricot:

@Named 
@RequestScoped 
public class HelloServiceClient { 

    @WebServiceRef(wsdlLocation="http://localhost:8080/HelloService/HelloService?WSDL") 
    private HelloService service; 

    public String callHello() { 
     Hello helloPort = service.getHelloPort(); 
     return helloPort.sayHello(" JSF2 View!"); 
    } 

    public String callWSSayHello(String name) { 
     Hello helloPort = service.getHelloPort(); 
     return helloPort.sayHello(name); 
    } 
} 

Il y a aussi une vue juste appeler la minimalistic méthode callHello() et afficher le résultat.

Je déployait cette application sur le même serveur GlassFish et obtenu l'erreur suivante:

java.io.IOException: com.sun.enterprise.admin.remote.RemoteFailureException: Error occurred during deployment: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: Laufzeitdeskriptor konnte nicht geparst werden: javax.xml.ws.WebServiceException: Laufzeitdeskriptor "/WEB-INF/sun-jaxws.xml" fehlt. Please see server.log for more details.

Je ne comprends pas ce concept de soleil JAXWS - et même si - l'oracle docs et l'exemple n » Ne m'en parlez pas. Ai-je fait quelque chose de mal - peut-être dans mon IDE ou autre chose?

+0

Par défaut, votre serveur glassfish est-il testé et fonctionne normalement? (côté distant) –

+0

C'est une installation locale fraîche et je n'ai rien configuré sur glassfish lui-même. Je peux voir le WebService déployé et utiliser le testeur intégré avec succès. – Stefan

Répondre

0

J'ai trouvé la réponse à mon problème:

Mon IDE ajoute automatiquement le WSServlet en tant qu'auditeur à mon web.xml -> si vous supprimez que du web.xml il fonctionne comme prévu.