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?
Par défaut, votre serveur glassfish est-il testé et fonctionne normalement? (côté distant) –
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