#java #web-services #jboss #axis #cxf
#java #веб-сервисы #jboss #ось #cxf
Вопрос:
У меня есть сервер веб-сервиса CXF, вызывающий веб-сервис Axis1 в качестве клиента и получающий следующую ошибку:
«Не удается найти допустимый EngineConfigurationFactory», а затем исключение нулевого указателя
Я использую Jboss4.
Есть ли какие-либо проблемы с использованием axis1 и cxf в одном приложении?
Следуйте трассировке стека
10:25:04,263 INFO [СТАНДАРТНЫЙ ВЫВОД] 10:25:04,263 WARN [EngineConfigurationFactoryFinder] Заводская организация.apache.axis.configuration.EngineConfigurationFactoryServlet игнорируется: отсутствует требуемый метод: общедоступный статический EngineConfigurationFactory newFactory(объект). 10:25:04,264 INFO [СТАНДАРТНЫЙ ВЫВОД] 10:25:04,264 WARN [EngineConfigurationFactoryFinder] Заводская организация.apache.axis.configuration.EngineConfigurationFactoryDefault игнорируется: отсутствует требуемый метод: общедоступный статический EngineConfigurationFactory newFactory(объект). 10:25:04,264 INFO [СТАНДАРТНЫЙ ВЫВОД] 10:25:04,264 ОШИБКА [EngineConfigurationFactoryFinder] Не удается найти действительный EngineConfigurationFactory 10:25:04,270 INFO [СТАНДАРТНЫЙ вывод] 10:25:04,270 INFO [serviceauthenticatorImpl] java.lang.Исключение NullPointerException в org.apache.axis.client.Service.getEngineConfiguration(Service.java:813) в org.apache.axis.client.Service.getAxisClient(Service.java:104) в org.apache.axis.client.Обслуживание.(Service.java:113) в ServiceAuthenticator_pkg.ServiceAuthenticatorServiceLocator.(ServiceAuthenticatorServiceLocator.java:12) в br.com.druid.zanfa.serviceauthenticator.impl.serviceauthenticatorImpl.executa(serviceauthenticatorImpl.java:58) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) в sun.reflect.Делегирование methodaccessorimpl.invoke(делегирование methodaccessorimpl.java:25) в java.lang.reflect.Метод.invoke(Method.java:597) в org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173) в org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java: 89) в org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75) в org.apache.cxf.interceptor.ServiceInvokerInterceptor $ 1.запустите (ServiceInvokerInterceptor.java:58) в java.util.concurrent.Исполнители $RunnableAdapter.call(Executors.java:441) в java.util.concurrent.FutureTask $Sync.innerRun(FutureTask.java:303) в java.util.concurrent.FutureTask.run(FutureTask.java:138) в org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) в org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106) в org.apache.cxf.phase.Цепочка phaseinterceptor.doIntercept(PhaseInterceptorChain.java:255) в org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113) в org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97) в org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461) в org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:188) в org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke (AbstractCXFServlet.java:148) в org.apache.cxf.transport.servlet.абстрактныйhttpservlet.handleRequest(абстрактныйhttpservlet.java:179) в org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java: 103) в javax.servlet.http.HttpServlet.service (HttpServlet.java:710) в org.apache.cxf.transport.servlet.AbstractHTTPServlet.service (AbstractHTTPServlet.java:159) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) в org.apache.catalina.core.Цепочка ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) в org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) в org.apache.catalina.core.Цепочка ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) в org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) в org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) в org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182) в org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) в org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) в org.apache.catalina.valves.Ошибка reportvalve.invoke(ошибка reportvalve.java: 102) в org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(ошибка CachedConnectionValve.java:157) в org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) в org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 262) в org.apache.coyote.http11.Http11Processor.process (Http11Processor.java: 844) в org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process (Http11Protocol.java:583) в org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) на java.lang.Thread.run(Thread.java:619)
Заранее спасибо
Ответ №1:
Взрыв не имеет ничего общего с CXF. Axis взорвался в своей клиентской библиотеке. Вы должны быть в состоянии изолировать это от тестового примера, в котором нет CXF.
Однако может быть нелегко получить помощь с Axis1 для решения проблемы. Планируйте прочитать исходный код.
Комментарии:
1. Привет, спасибо за ваш ответ. Я разделил свой проект с помощью EJB, и все заработало автоматически. Я думаю, что есть проблема при совместной работе с CXF и AXIS1. Я изучу больше и обновлю здесь результат.