我正在尝试使用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。
任何人都可以向我提供一些关于我做错了什么的见解吗?我发誓这曾经工作过。
答案 0 :(得分:6)
" java.lang.ClassNotFoundException:com / sun / tools /"如果在JDK的IDE intead中使用JRE,通常会发生这种情况。 确保在IDE中使用JDK(例如eclipse)
答案 1 :(得分:1)
{{1}}
已解决的问题
答案 2 :(得分:0)
另一种解决方案是在Maven依赖项中包含cxf-rt-core。