java – Apache CXF动态客户端创建

我正在尝试使用Apache CXF与未知的Web服务进行通信.我跟随了Apache的Dynamic Client example.

    JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
    Client client = factory.createClient(wsdlURL.toExternalForm(), SERVICE_NAME);

这工作正常,但现在我在调用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]

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

任何人都能为我提供一些关于我做错的见解吗?我发誓这曾经工作过.

解决方法:

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

上一篇:Java – 在Tomcat中使用RESTful服务和JAX-RS / CXF


下一篇:java – 将自定义请求marshallers提交给JAXRSClientFactory