2017-01-30 5 views
4

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?

+0

Standardmäßig ist Ihr Glassfish Server getestet und läuft normal? (Remote-Seite) –

+0

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

Antwort

0

Ich habe die Antwort für mein Problem gefunden:

Meine IDE automatisch die WSServlet als Zuhörer meiner web.xml hinzugefügt -> wenn Sie entfernen, dass aus der web.xml es wie erwartet funktioniert.

Verwandte Themen