我有一个用于 Web 服务的 wsdl 文件。我想测试客户端和服务器之间的交互。为此,我运行了带有嵌入式 grizzly 的模拟服务器。
关于实现模拟服务器的问题。我使用 wsimport 从 wsdl(和 xsd)生成了一个接口(interface)并编写了实现。在 grizzly 上运行时,出现以下错误:
com.sun.xml.ws.server.ServerRtException: [failed to localize] cannot.load.wsdl(META-INF/wsdl/test.wsdl)
我用这段代码运行一个网络服务:
HttpHandler httpHandler = new JaxwsHandler(new TestImpl());
server.getServerConfiguration().addHttpHandler(httpHandler, "/test");
问题是 Grizzly 找不到 wsdl 和 xsd 文件。在嵌入式 glassfish 中它的工作。
编辑1
我将 wsdlLocation 更改为“test.wsdl”及其工作。但是现在灰熊说:
java.lang.NoSuchMethodError: javax.xml.ws.WebFault.messageName()Ljava/lang/String;
编辑2
如果使用 JDK1.7 就可以了。但是我需要一个 JDK 1.6
最佳答案
我不确定您为什么会看到该错误。我可以运行 Grizzly jaxws 示例并使用 1.6 或 1.7 获取 wsdl。
我建议查看来源 1示例并与您拥有的进行比较。
关于java - 灰熊 - java.lang.NoSuchMethodError : javax. xml.ws.WebFault.messageName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13356479/