Кто-нибудь знает, как это исправить? Я создал клиента, чтобы потреблять веб-сервис. Код клиента:java.lang.NoClassDefFoundError: org/apache/cxf/service/invoker/Invoker
package cliente;
import java.util.List;
import handler.HeaderHandler;
import webservice.BoletinOficial;
import webservice.BoletinOficialService;
import petanuncio.PeticionAnuncio;
import respanuncio.RespuestaAnuncio;
import org.apache.cxf.jaxws.binding.DefaultBindingImpl;
import javax.xml.ws.BindingProvider;
import javax.xml.ws.handler.Handler;
import java.util.ArrayList;
public class Cliente {
/**
* Main
* @param args
*/
@SuppressWarnings("rawtypes")
public static void main(String[] args) {
String endpointURL = "";
try {
BoletinOficialService service = new BoletinOficialService();
BoletinOficial proxy = service.getBoletinOficialSoap11();
//rest of code
} catch (Exception e) {
e.printStackTrace();
}
}
Проблема в том, при запуске программы и получить следующее сообщение об ошибке ANC не может даже создать «сервис»:
Exception in thread "main" java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: Provider org.apache.cxf.jaxws.spi.ProviderImpl could not be instantiated
at java.util.ServiceLoader.fail(Unknown Source)
at java.util.ServiceLoader.access$100(Unknown Source)
at java.util.ServiceLoader$LazyIterator.nextService(Unknown Source)
at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
at java.util.ServiceLoader$1.next(Unknown Source)
at javax.xml.ws.spi.Provider.getProviderUsingServiceLoader(Unknown Source)
at javax.xml.ws.spi.Provider.provider(Unknown Source)
at javax.xml.ws.Service.<init>(Unknown Source)
at webservice.BoletinOficialService.<init>(BoletinOficialService.java:46)
at cliente.Cliente.main(Cliente.java:35)
Caused by: java.lang.NoClassDefFoundError: org/apache/cxf/service/invoker/Invoker
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
... 8 more
Caused by: java.lang.ClassNotFoundException: org.apache.cxf.service.invoker.Invoker
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 12 more
Этот класс и другие были созданы с помощью wsimport из WSDL file, althoug Я не думаю, что это связано с ошибкой, которую я получаю. Класс org.apache.cxf.jaxws.spi.ProviderImpl находится в файле cxf-rt-frontend-jaxws-3.1.1.jar, который добавляется в качестве ссылки на проект.
Что мне не хватает? Заранее спасибо.
Ну, я переключился на Мейвен и на аренду, ошибка, о которой я описал, ушла, хотя я получаю других. Спасибо. – bentakayze
Какие ошибки? Существует веб-страница о том, как настроить CXF в Maven по адресу http://cxf.apache.org/docs/using-cxf-with-maven.html. Рядом с cxf-rt-frontend-jaxws вы также должны объявить cxf -rt-transports-http и, возможно, зависимость cxf-rt-transports-http-jetty. Если вы не используете зависимость cxf-rt-transports-http-jetty, вам необходимо использовать CXFServlet для настройки ваших веб-сервисов. – toongeorges
CXF имеет примеры проектов, как описано в http://cxf.apache.org/docs/sample-projects.html. Проверьте https://cxf.apache.org/source-repository.html, как получить исходный код проекта CXF. Примеры проектов можно найти там под папкой src/main/release/samples – toongeorges