2014-05-11 4 views
0

Я пытаюсь создать WS-клиент с помощью Apache CXF 2.7.11. Я создал образцы классов с помощью инструмента wsdl2java. У меня есть проект Eclipse, с:NullPointerException при попытке запустить код, сгенерированный wsdl2java

  • всего кодом, генерируемого WSDL2Java
  • всех файлов банка с/Lib установлен.

я в основном после этого урока: http://cxf.apache.org/docs/developing-a-consumer.html

Когда я запускаю пример кода, созданного wsdl2java, я получаю эту ошибку:

Exception in thread "main" java.lang.NullPointerException 
at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:98) 
at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:204) 
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:149) 
at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:101) 
at javax.xml.ws.Service.<init>(Service.java:67) 
at com.twinfield.Session.<init>(Session.java:46) 
at com.twinfield.SessionSoap_SessionSoap_Client.main(SessionSoap_SessionSoap_Client.java:48) 

Используя отладчик, я обнаружил, что нуль в вопросе вызвано CXFBusImpl.getExtension(WSDLManager.class). Строка 98 в WSDLServiceFactory.java гласит:

definition = getBus().getExtension(WSDLManager.class).getDefinition(url); 

Я думал, что проблема была с моим адресом WSDL, но на основе выше, что может быть не так? Я попробовал как локальный файл, так и URL-адрес в качестве значения для переключателя -wsdlLocation wsdl2java. (В настоящее время я вообще не использую этот параметр)

Веб-поиск выявил только некоторые очень старые проблемы с версиями 2.0 и 2.4. Здесь есть аналогичный вопрос: Null Pointer Exception in WSDServiceFactory - Apache CXF libs, но ответ был только для использования старой версии ...

Может ли это быть проблемой конфигурации? Нужны ли мне какие-либо файлы конфигурации в моем проекте?

+0

Я нашел аналогичную проблему, чтобы проверить возможное решение в http://stackoverflow.com/questions/30578380/error-after-upgrading-camel-cxf-to-2-15-2-class-cast-exception/42023591# 42023591 –

ответ

0

Эта ошибка, очевидно, была вызвана несовместимыми версиями библиотек. Похоже, что хотя бы код клиента WS, сгенерированный wsdl2java, может работать в Domino 9.0.1 без добавления каких-либо банок из CXF (я добавил несколько банок для проекта).

Смежные вопросы