2012-10-23 2 views
4

Apache CXF를 사용하여 알 수없는 웹 서비스와 통신하려고합니다. 나는 아파치에서 Dynamic Client example을 따라 갔다.Apache CXF 동적 클라이언트 생성

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 비슷합니다. CXF-minimal-2.2.9.jar가 포함 된 DOSGi singlebundle 1.2를 사용하고 있습니다. 버그는 내가 사용하고있는 버전에서 수정되어야 함을 의미합니다. jaxb-api는 검사시 jaxb-xjc가 포함 된 Apache CXF 배포본에 포함되어 있습니다.

누구든지 내가 뭘 잘못하고 있는지에 대한 통찰력을 줄 수 있습니까? 나는 이것이 작동하는데 사용되었다고 맹세한다.

답변

5

IDE에서 JDK를 사용하는 경우 JRE를 사용하면 "java.lang.ClassNotFoundException : com/sun/tools /"가 자주 발생합니다. IDE (예 : Eclipse)에서 JDK를 사용하십시오.

+0

완전 좋아! 이것은 나를 위해 일했다. –

0

다른 해결책은 Maven 종속성에 cxf-rt-core를 포함시키는 것입니다.

0
<dependency> 
    <groupId>com.sun.xml.bind</groupId> 
    <artifactId>jaxb-xjc</artifactId> 
    <version>2.2.11</version> 
</dependency> 

해결 문제

관련 문제