从类加载器看不到接口

Raz*_*zie 1 wsdl2java classloader playframework

我是新手!框架和使用wsdl2java工具.我正在开发一个游戏!需要与SOAP Web服务交互的应用程序.我有WSDL并使用jaxws从中创建对象.它正在创建一堆java类和1个接口.一旦我尝试进行webservice调用,我就会收到类加载器无法找到接口的错误.这是我的代码:

MyWebserviceBeanService service = new MyWebserviceBeanService();
MyWebserviceRemote mwr = service.getMyWebserviceBeanPort();
LoginResponse response = mwr.loginUser("xxx", "xxx");
Run Code Online (Sandbox Code Playgroud)

请注意,'MyWebserviceRemote'是接口.代码getMyWebserviceBeanPort很常见,因为它是自动生成的,但它是:

@WebEndpoint(name = "MyWebserviceBeanPort")
public MyWebserviceRemote getMyWebserviceBeanPort() {
    return super.getPort(new QName("http://xxxxxxxxxx/", "MyWebserviceBeanPort"), MyWebserviceRemote.class);
}
Run Code Online (Sandbox Code Playgroud)

当我尝试调用方法时,例如loginUser上面的方法,我得到以下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
Run Code Online (Sandbox Code Playgroud)

我真的不知道如何解决这个问题,甚至不知道如何调试它.我在哪里看?我从哪里开始?我使用SoapUI测试了web服务,它工作正常.

谢谢!

Raz*_*zie 5

这是由于play框架中的jar文件冲突造成的(共有3个jars,名称中为'jax').我删除了它们,一切都很好.华友世纪的描述性错误消息:-)