【发布时间】: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