Ich mache ein paar erste Schritte in die Welt der JAX-WS und verwenden Glasfischen 4.Warum brauche ich sun-jaxws.xml-Datei auf Glassfish 4?
Ich habe gerade versucht, die Beispiele JavaEE7 Oracle JAX-WS für den Wiederaufbau und die folgende WebService:
@WebService
public class Hello {
@WebMethod
public String sayHello(String name) {
System.out.println("Webservice sayHello called...");
return "Hello " + name;
}
}
Es ist nichts mehr .. Ich habe es auf Glassfish eingesetzt, ich kann den Tester verwenden, ich kann die WSDL sehen - gut.
Nun schrieb ich den Client, der von einem JSF2 Ansicht aufgerufen werden soll .. Hier kommt die Bohne:
@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);
}
}
Es gibt auch eine minimalistische Ansicht ist nur die callHello() -Methode aufrufen und das Ergebnis angezeigt werden soll.
Ich war die Bereitstellung, dass die Anwendung auf den gleichen Glassfish Server und bekam folgende Fehlermeldung:
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.
So verstehe ich nicht, dass Konzept der Sonnen jaxws - und obwohl - die Oracle-Dokumentation und Beispiel don‘ erzähl mir nichts darüber.
Habe ich etwas falsch gemacht - vielleicht in meiner IDE oder irgendetwas anderes?
Standardmäßig ist Ihr Glassfish Server getestet und läuft normal? (Remote-Seite) –
Es ist eine frische lokale Installation und ich habe nichts auf Glassfish selbst konfiguriert. Ich kann den bereitgestellten WebService sehen und den integrierten Tester erfolgreich verwenden. – Stefan