Jakarta ee 为什么在glassfish 4上需要sun-jaxws.xml文件?

Jakarta ee 为什么在glassfish 4上需要sun-jaxws.xml文件?,jakarta-ee,glassfish,jax-ws,Jakarta Ee,Glassfish,Jax Ws,我正在向JAX-WS世界迈出一些第一步,并使用glassfish 4 我刚刚尝试重建JavaEE7 Oracle Jax WS示例,并提供以下Web服务: @WebService public class Hello { @WebMethod public String sayHello(String name) { System.out.println("Webservice sayHello called..."); return "Hell

我正在向JAX-WS世界迈出一些第一步,并使用glassfish 4

我刚刚尝试重建JavaEE7 Oracle Jax WS示例,并提供以下Web服务:

@WebService
public class Hello {

    @WebMethod
    public String sayHello(String name) {
        System.out.println("Webservice sayHello called...");
        return "Hello " + name;
    }
}
没有别的了。。我已经在glassfish上部署了它,我可以使用测试仪,我可以看到WSDL-很好

现在我正在编写应该由JSF2视图调用的客户机。。豆子来了:

@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);
    }
}
还有一个简单的视图,只需调用callHello()方法并显示结果

我正在将该应用程序部署到同一台glassfish服务器上,并出现以下错误:

java.io.IOException: com.sun.enterprise.admin.remote.RemoteFailureException:发生错误 部署期间:加载应用程序时出现异常: java.lang.IllegalStateException:ContainerBase.addChild:start: org.apache.catalina.LifecycleException: com.sun.xml.ws.transport.http.servlet.WSServletException:WSSERVLET11: Laufzeitdesktriptor konnte nicht geparst werden: javax.xml.ws.WebServiceException:Laufzeitdeskriptor “/WEB-INF/sun jaxws.xml”fehlt。有关详细信息,请参阅server.log 细节

所以我不理解sun jaxws的概念——尽管如此——oracle文档和示例并没有告诉我任何关于它的信息


我做错什么了吗?可能是在我的IDE或其他方面?

我找到了问题的答案:


My IDE自动将WSServlet作为侦听器添加到My web.xml->如果您从web.xml中删除它,它将按预期工作。

默认情况下,您的glassfish服务器是否已测试并正常运行?(远程端)这是一个全新的本地安装,我没有在glassfish本身上配置任何东西。我可以看到部署的WebService并成功地使用内置测试仪。