【问题标题】:Why do I need sun-jaxws.xml file on glassfish 4?为什么我需要 glassfish 4 上的 sun-jaxws.xml 文件?
【发布时间】:2017-06-16 01:42:24
【问题描述】:

我正在迈出进入 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 视图调用的客户端.. bean 来了:

@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:开始: 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”感觉。请参阅 server.log 了解更多信息 详情。

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

我是不是做错了什么——可能是在我的 IDE 中或其他什么地方?

【问题讨论】:

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

标签: jakarta-ee glassfish jax-ws


【解决方案1】:

我找到了问题的答案:

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

【讨论】:

    猜你喜欢
    • 2012-09-16
    • 2019-04-28
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多