Playframework 接口在类装入器中不可见
我是新手!框架,并使用wsdl2java工具。我在写剧本!需要与SOAP Web服务交互的应用程序。我拥有WSDL,并使用jaxws从中创建了对象。它创建了一组java类和一个接口。当我尝试进行webservice调用时,我得到一个错误,类加载器找不到接口。这是我的代码:Playframework 接口在类装入器中不可见,playframework,classloader,wsdl2java,Playframework,Classloader,Wsdl2java,我是新手!框架,并使用wsdl2java工具。我在写剧本!需要与SOAP Web服务交互的应用程序。我拥有WSDL,并使用jaxws从中创建了对象。它创建了一组java类和一个接口。当我尝试进行webservice调用时,我得到一个错误,类加载器找不到接口。这是我的代码: MyWebserviceBeanService service = new MyWebserviceBeanService(); MyWebserviceRemote mwr = service.getMyWebservice
MyWebserviceBeanService service = new MyWebserviceBeanService();
MyWebserviceRemote mwr = service.getMyWebserviceBeanPort();
LoginResponse response = mwr.loginUser("xxx", "xxx");
请注意,“MyWebserviceRemote”是接口。getMyWebserviceBeanPort
的代码是非常常见的,因为它是自动生成的,但这里是:
@WebEndpoint(name = "MyWebserviceBeanPort")
public MyWebserviceRemote getMyWebserviceBeanPort() {
return super.getPort(new QName("http://xxxxxxxxxx/", "MyWebserviceBeanPort"), MyWebserviceRemote.class);
}
当我尝试调用一个方法时,例如上面提到的logiuser
方法,我会得到以下stacktrace:
play.exceptions.JavaExecutionException: interface xxxx.xxxx.xxxx.MyWebserviceRemote is not visible from class loader
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:237)
at Invocation.HTTP Request(Play!)
Caused by: java.lang.IllegalArgumentException: interface xxxx.xxxxx.xxxx.MyWebserviceRemote is not visible from class loader
at com.sun.xml.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:736)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:408)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:384)
at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:366)
at javax.xml.ws.Service.getPort(Service.java:119)
at xxxx.xxxx.xxxx.MyWebserviceBeanService.getMyWebserviceBeanPort(MyWebserviceBeanService.java:72)
at controllers.MyController.index(MyController.java:26)
at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:557)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:508)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:484)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:479)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:161)
... 1 more
我真的不知道如何修复它,甚至不知道如何调试它。我在哪里看?我从哪里开始?我使用SoapUI测试了Web服务,它运行良好
谢谢 这是由于play框架中的jar文件冲突造成的(总共3个jar,名称中有“jax”)。我把它们拿走了,现在一切都好了。描述错误消息万岁:-)我也有同样的问题,所以我必须从一个依赖项中排除此依赖项:
<exclusions>
<exclusion>
<groupId>com.sun.xml.ws</groupId>
<artifactId>rt</artifactId>
</exclusion>
</exclusions>
com.sun.xml.ws
rt