You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Jaime Hablutzel Egoavil <ha...@gmail.com> on 2009/10/22 19:09:25 UTC

error trying to use cxf's wsdl2java client inside servicemix

Hi, I generated a web service skeleton using wsdl2java from cxf and I want
to use it inside servicemix but this is error produced when I try to, it is
worth mentioning that it works very well called from main as a normal Java
application.

12:01:12,463 | INFO  | 13764272@qtp1-1  | PasswordCallbackHandler          |
dac
.ldap.PasswordCallbackHandler  102 | Logeo incorrecto, usuario: hndac
12:01:12,463 | INFO  | 13764272@qtp1-1  | ConfigurerImpl                   |
ach
e.cxf.common.logging.LogUtils  345 | Could not determine bean name for
instance
of class org.apache.cxf.jaxws.JaxWsClientFactoryBean.
12:01:12,463 | INFO  | 13764272@qtp1-1  | ReflectionServiceFactoryBean     |
ory
.ReflectionServiceFactoryBean  331 | Creating Service {
http://hndac.gob.pe/soasi
ghhc/wsdl/}soasighhc from WSDL: file:/C:/soasighhc.wsdl
12:01:12,479 | WARN  | 13764272@qtp1-1  | PhaseInterceptorChain            |
ach
e.cxf.common.logging.LogUtils  345 | Application has thrown exception,
unwinding
 now
org.apache.cxf.interceptor.Fault
        at
org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractIn
voker.java:148)
        at
org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJ
AXWSMethodInvoker.java:83)
        at
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
.java:114)
        at
org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.jav
a:55)
        at
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
.java:68)
        at
org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInv
okerInterceptor.java:58)
        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:44
1)
        at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at
org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecu
tor.java:37)
        at
org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(Se
rviceInvokerInterceptor.java:98)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercept
orChain.java:236)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainIniti
ationObserver.java:104)
        at
org.apache.cxf.transport.http_osgi.OsgiDestination.doMessage(OsgiDest
ination.java:79)
        at
org.apache.cxf.transport.http_osgi.OsgiServletController.invokeDestin
ation(OsgiServletController.java:324)
        at
org.apache.cxf.transport.http_osgi.OsgiServletController.invoke(OsgiS
ervletController.java:148)
        at
org.apache.cxf.transport.http_osgi.OsgiServlet.invoke(OsgiServlet.jav
a:53)
        at
org.apache.cxf.transport.http_osgi.SpringOsgiServlet.invoke(SpringOsg
iServlet.java:48)
        at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractH
TTPServlet.java:45)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
        at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(Abstract
HTTPServlet.java:101)
        at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502
)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
63)
        at
org.ops4j.pax.web.service.internal.HttpServiceServletHandler.handle(H
ttpServiceServletHandler.java:64)
        at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
81)
        at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
66)
        at
org.ops4j.pax.web.service.internal.HttpServiceContext.handle(HttpServ
iceContext.java:108)
        at
org.ops4j.pax.web.service.internal.JettyServerHandlerCollection.handl
e(JettyServerHandlerCollection.java:64)
        at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
52)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:53
4)
        at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio
n.java:879)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
        at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.ja
va:409)
        at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j
ava:522)
Caused by: java.lang.NullPointerException
        at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializ
eClassInfo(ReflectionServiceFactoryBean.java:685)
        at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOp
eration(JaxWsServiceFactoryBean.java:202)
        at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializ
eWSDLOperations(ReflectionServiceFactoryBean.java:605)
        at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOp
erations(JaxWsServiceFactoryBean.java:238)
        at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServ
iceFromWSDL(ReflectionServiceFactoryBean.java:355)
        at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializ
eServiceModel(ReflectionServiceFactoryBean.java:459)
        at
org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(Re
flectionServiceFactoryBean.java:212)
        at
org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServ
iceFactoryBean.java:163)
        at
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoi
nt(AbstractWSDLBasedEndpointFactory.java:100)
        at
org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.ja
va:52)
        at
org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFact
oryBean.java:102)
        at
org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBe
an.java:115)
        at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:438)
        at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:315)
        at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:302)
        at javax.xml.ws.Service.getPort(Service.java:40)
        at
pe.gob.hndac.soasighhc.wsdl.Soasighhc.getVFPClassSoapPort(Soasighhc.j
ava:62)
        at
pe.gob.hndac.ws.EmrServiceImpl.searchPatient(EmrServiceImpl.java:119)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(Abst
ractInvoker.java:166)
        at
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
.java:82)
        ... 34 more


-- 
Jaime Hablutzel

(tildes omitidas intencionalmente) 9 8964 0369

Re: error trying to use cxf's wsdl2java client inside servicemix

Posted by Daniel Kulp <dk...@apache.org>.
Hmm...  that's definitely a strange error.   Tracing back through that stack, 
the only way a NPE would occur there is if:

Method JaxWsServiceConfiguration.getDeclaredMethod(Class<?> endpointClass, 
Method method)

returns null.   However, I cannot see why it would return null on a client.    
Digging in that method further,  the only way it returns null is:

return isWebMethod(method) ? method : null;

However, going up the stack, isWebMethod has already been called on this 
method as part of:
ReflectionServiceFactoryBean.initializeWSDLOperations(ReflectionServiceFactoryBean.java:605) 
stack frame (line 583 calls isValidMethod which results in isWebMethod being 
called).   Thus, if isWebMethod had returned false, it would never have gotten 
there again.

Thus, I really don't have a clue.   Any way you could hobble together a 
sample?

Dan



On Thu October 22 2009 1:09:25 pm Jaime Hablutzel Egoavil wrote:
> Hi, I generated a web service skeleton using wsdl2java from cxf and I want
> to use it inside servicemix but this is error produced when I try to, it is
> worth mentioning that it works very well called from main as a normal Java
> application.
> 
> 12:01:12,463 | INFO  | 13764272@qtp1-1  | PasswordCallbackHandler         
>  | dac
> .ldap.PasswordCallbackHandler  102 | Logeo incorrecto, usuario: hndac
> 12:01:12,463 | INFO  | 13764272@qtp1-1  | ConfigurerImpl                  
>  | ach
> e.cxf.common.logging.LogUtils  345 | Could not determine bean name for
> instance
> of class org.apache.cxf.jaxws.JaxWsClientFactoryBean.
> 12:01:12,463 | INFO  | 13764272@qtp1-1  | ReflectionServiceFactoryBean    
>  | ory
> .ReflectionServiceFactoryBean  331 | Creating Service {
> http://hndac.gob.pe/soasi
> ghhc/wsdl/}soasighhc from WSDL: file:/C:/soasighhc.wsdl
> 12:01:12,479 | WARN  | 13764272@qtp1-1  | PhaseInterceptorChain           
>  | ach
> e.cxf.common.logging.LogUtils  345 | Application has thrown exception,
> unwinding
>  now
> org.apache.cxf.interceptor.Fault
>         at
> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractIn
> voker.java:148)
>         at
> org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJ
> AXWSMethodInvoker.java:83)
>         at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
> .java:114)
>         at
> org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.jav
> a:55)
>         at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
> .java:68)
>         at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInv
> okerInterceptor.java:58)
>         at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:44
> 1)
>         at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>         at
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecu
> tor.java:37)
>         at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(Se
> rviceInvokerInterceptor.java:98)
>         at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercept
> orChain.java:236)
>         at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainIniti
> ationObserver.java:104)
>         at
> org.apache.cxf.transport.http_osgi.OsgiDestination.doMessage(OsgiDest
> ination.java:79)
>         at
> org.apache.cxf.transport.http_osgi.OsgiServletController.invokeDestin
> ation(OsgiServletController.java:324)
>         at
> org.apache.cxf.transport.http_osgi.OsgiServletController.invoke(OsgiS
> ervletController.java:148)
>         at
> org.apache.cxf.transport.http_osgi.OsgiServlet.invoke(OsgiServlet.jav
> a:53)
>         at
> org.apache.cxf.transport.http_osgi.SpringOsgiServlet.invoke(SpringOsg
> iServlet.java:48)
>         at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractH
> TTPServlet.java:45)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
>         at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(Abstract
> HTTPServlet.java:101)
>         at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502
> )
>         at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
> 63)
>         at
> org.ops4j.pax.web.service.internal.HttpServiceServletHandler.handle(H
> ttpServiceServletHandler.java:64)
>         at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
> 81)
>         at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
> 66)
>         at
> org.ops4j.pax.web.service.internal.HttpServiceContext.handle(HttpServ
> iceContext.java:108)
>         at
> org.ops4j.pax.web.service.internal.JettyServerHandlerCollection.handl
> e(JettyServerHandlerCollection.java:64)
>         at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
> 52)
>         at org.mortbay.jetty.Server.handle(Server.java:324)
>         at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:53
> 4)
>         at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnectio
> n.java:879)
>         at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
>         at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
>         at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.ja
> va:409)
>         at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.j
> ava:522)
> Caused by: java.lang.NullPointerException
>         at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializ
> eClassInfo(ReflectionServiceFactoryBean.java:685)
>         at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOp
> eration(JaxWsServiceFactoryBean.java:202)
>         at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializ
> eWSDLOperations(ReflectionServiceFactoryBean.java:605)
>         at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.initializeWSDLOp
> erations(JaxWsServiceFactoryBean.java:238)
>         at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServ
> iceFromWSDL(ReflectionServiceFactoryBean.java:355)
>         at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializ
> eServiceModel(ReflectionServiceFactoryBean.java:459)
>         at
> org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(Re
> flectionServiceFactoryBean.java:212)
>         at
> org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServ
> iceFactoryBean.java:163)
>         at
> org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoi
> nt(AbstractWSDLBasedEndpointFactory.java:100)
>         at
> org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.ja
> va:52)
>         at
> org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFact
> oryBean.java:102)
>         at
> org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBe
> an.java:115)
>         at
>  org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:438) at
>  org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:315) at
>  org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:302) at
>  javax.xml.ws.Service.getPort(Service.java:40)
>         at
> pe.gob.hndac.soasighhc.wsdl.Soasighhc.getVFPClassSoapPort(Soasighhc.j
> ava:62)
>         at
> pe.gob.hndac.ws.EmrServiceImpl.searchPatient(EmrServiceImpl.java:119)
> 
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
> java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
> sorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(Abst
> ractInvoker.java:166)
>         at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker
> .java:82)
>         ... 34 more
> 

-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog