使用 wsdl2java 生成客户端代码后,为了便于实施人员和接口方进行测试,我写了一个 swing 的小程序,在 swing 中,一般耗时操作会使用
SwingUtilities.invokeLater
异步调用。实施人员在测试的时候总是出现一个从来没有遇到过的错误,WSDLServiceFactory 抛出空指针异常,对 3.0.0 版本的 cxf 来说,异常位于 WSDLServiceFactory.java:85:
definition = getBus().getExtension(WSDLManager.class).getDefinition(url);
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());