Apache CXF动态客户端创建

时间:2012-10-23 21:34:57

标签: java 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。

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

3 个答案:

答案 0 :(得分:6)

" java.lang.ClassNotFoundException:com / sun / tools /"如果在JDK的IDE intead中使用JRE,通常会发生这种情况。 确保在IDE中使用JDK(例如eclipse)

答案 1 :(得分:1)

{{1}}

已解决的问题

答案 2 :(得分:0)

另一种解决方案是在Maven依赖项中包含cxf-rt-core。