Olivier Paquet created CXF-5833:
-----------------------------------
Summary: Running a client and server implementation in same
application server results in error
Key: CXF-5833
URL: https://issues.apache.org/jira/browse/CXF-5833
Project: CXF
Issue Type: Bug
Components: JAX-WS Runtime
Affects Versions: 2.7.3
Environment: TomEE 1.6.0, Java 1.7, CXF 2.7.3
Reporter: Olivier Paquet
Priority: Blocker
Hi,
I'm currenlty trying to deploy 2 applications in a TomEE. (2 WAR files)
In the frist one I deploy a webservice, in the second one I create a cxf
client, using the generated stub from cxf-codegen-plugin.
Deployment of webservice works fine, but when creating the clientduring the
deployment of the second application I get the following error:
{code}
Caused by: javax.xml.ws.WebServiceException:
org.apache.cxf.service.factory.ServiceConstructionException: Service class
gcs.information.service.GCSInformationServiceInterface does not implement
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:334)
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:319)
at javax.xml.ws.Service.getPort(Service.java:119)
at
gcs.information.service.GCSInformationService.getGCSInformationServicePort(GCSInformationService.java:55)
at
net.atos.wlp.gcs.web.services.WSClientInitializationService.init(WSClientInitializationService.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:191)
at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$LifecycleInvocation.invoke(ReflectionInvocationContext.java:223)
at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
at
org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181)
at
org.apache.openejb.monitoring.StatsInterceptor.PostConstruct(StatsInterceptor.java:109)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:191)
at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:173)
at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
at org.apache.openejb.BeanContext.newInstance(BeanContext.java:1592)
... 29 more
Caused by: org.apache.cxf.service.factory.ServiceConstructionException: Service
class gcs.information.service.GCSInformationServiceInterface does not implement
the findCutoffsByCriteria method.
at
org.apache.cxf.jaxws.JAXWSMethodDispatcher.bind(JAXWSMethodDispatcher.java:71)
at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.bindOperation(JaxWsServiceFactoryBean.java:283)
at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperation(JaxWsServiceFactoryBean.java:257)
at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeWSDLOperations(ReflectionServiceFactoryBean.java:692)
at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOperations(JaxWsServiceFactoryBean.java:292)
at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean.java:438)
at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:548)
at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:265)
at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:205)
at
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:101)
at
org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:90)
at
org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:156)
at
org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:156)
at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:465)
at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:332)
... 50 more
Caused by: java.lang.NoSuchMethodException:
gcs.information.service.GCSInformationServiceInterface.findCutoffsByCriteria(gcs.information.service.FindCutoffsByCriteriaRequest)
at java.lang.Class.getMethod(Class.java:1665)
at
org.apache.cxf.jaxws.JAXWSMethodDispatcher.getImplementationMethod(JAXWSMethodDispatcher.java:91)
at
org.apache.cxf.jaxws.JAXWSMethodDispatcher.bind(JAXWSMethodDispatcher.java:58)
... 64 more
{code}
But when I deploy only the second application with the client, the creation is
ok, but we want to be able to deploye both applications in the same server.
After googling the issue I found some blogs saying cxf version mix can cause
this issue, I already replaced the cxf libs in TomEE with 2.7.3, but issue is
still there.
Hope that someone can help me, because this issue is blocking for us currently.
Best regards,
Olivier
--
This message was sent by Atlassian JIRA
(v6.2#6252)