Apache CXF动态客户端创建

mbu*_*ler 5 java cxf

我正在尝试使用Apache CXF与未知的Web服务进行通信.我已经关注了Apache 的Dynamic Client示例.

    JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
    Client client = factory.createClient(wsdlURL.toExternalForm(), SERVICE_NAME);
Run Code Online (Sandbox Code Playgroud)

这工作正常,但现在我在调用createClient()时遇到此异常:

    java.lang.IllegalStateException: Unable to create schema compiler
    Caused by:
     javax.xml.bind.JAXBException
     - with linked exception:
     [java.lang.ClassNotFoundException: com/sun/tools/internal/xjc/api/XJC]
Run Code Online (Sandbox Code Playgroud)

这看起来与现有的bug类似.我正在使用DOSGi singlebundle 1.2,其中包括cxf-minimal-2.2.9.jar; 意思是错误应该在我正在使用的版本中修复.jaxb-api包含在我的Apache CXF发行版中,经检查后包含jaxb-xjc.

任何人都可以向我提供一些关于我做错了什么的见解吗?我发誓这曾经工作过.

小智 6

如果在IDE的IDE内部使用JRE,则经常会出现"java.lang.ClassNotFoundException:com/sun/tools /".确保在IDE中使用JDK(例如eclipse)