我有一个用于 Web 服务的 wsdl 文件。我想测试客户端和服务器之间的交互。为此,我使用嵌入式 grizzly 运行模拟服务器。
关于实现模拟服务器的问题。我使用 wsimport 从 wsdl(和 xsd)生成了一个接口并编写了实现。在灰熊上运行时,出现以下错误:
com.sun.xml.ws.server.ServerRtException: [failed to localize] cannot.load.wsdl(META-INF/wsdl/test.wsdl)
我使用以下代码运行 Web 服务:
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