Hi, sorry to write again, but I have more details about the problem: The method signature:
QueryResponse getByInteractorList( List<DbRef> dbRef, RequestInfo infoRequest, String operand ); QueryResponse, DbRef and RequestInfo are complex objects. The problem seems to be related to the use of the List<DbRef> parameter. In the line where the exception below happens, the first item of an array called getMethods[] is being invoked (getMethods[0]). However, this array does not seem anything set in position 0 (but there are values for getMethods[1] and getMethods[2]). So getMethods[0] returns null, hence the NullPointerException. I see that in org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor (line 161) the element type is set to null because the message part does not have a typeQName. This null is the one causing the NPE later on, Any ideas? Aren't List object allowed as parameters? Thank you, Bruno 2009/4/20 Bruno Aranda <[email protected]> > Hi, > > Many thanks for your answer. I have tried with 2.2.1-SNAPSHOT but it didn't > work either. However, I have the exception cause now. That this make sense > to anyone? How can I avoid this NPE? > > java.lang.NullPointerException > at > org.apache.cxf.databinding.AbstractWrapperHelper.createWrapperObject(AbstractWrapperHelper.java:86) > at > org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor.handleMessage(WrapperClassOutInterceptor.java:103) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:469) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:299) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:251) > at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:120) > at $Proxy62.getByInteractorList(Unknown Source) > at > uk.ac.ebi.intact.psicquic.wsclient.MitabPsicquicClient.getByInteractorList(MitabPsicquicClient.java:104) > at > uk.ac.ebi.intact.psicquic.wsclient.MitabPsicquicClientTest.client(MitabPsicquicClientTest.java:37) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at > org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99) > at > org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81) > at > org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) > at > org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75) > at > org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45) > at > org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:75) > at > org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:36) > at > org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42) > at > org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) > at > org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52) > at > com.intellij.rt.junit4.Junit4TestMethodAdapter.run(Junit4TestMethodAdapter.java:62) > at junit.textui.TestRunner.doRun(TestRunner.java:116) > at > com.intellij.rt.execution.junit.IdeaTestRunner.doRun(IdeaTestRunner.java:94) > at junit.textui.TestRunner.doRun(TestRunner.java:109) > at > com.intellij.rt.execution.junit.IdeaTestRunner.startRunnerWithArgs(IdeaTestRunner.java:22) > at > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:118) > at > com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90) > Apr 20, 2009 9:28:40 AM org.apache.cxf.phase.PhaseInterceptorChain > doIntercept > INFO: Interceptor has thrown exception, unwinding now > org.apache.cxf.interceptor.Fault > at > org.apache.cxf.databinding.AbstractWrapperHelper.createWrapperObject(AbstractWrapperHelper.java:107) > at > org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor.handleMessage(WrapperClassOutInterceptor.java:103) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:469) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:299) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:251) > at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:120) > at $Proxy62.getByInteractorList(Unknown Source) > at > uk.ac.ebi.intact.psicquic.wsclient.MitabPsicquicClient.getByInteractorList(MitabPsicquicClient.java:104) > at > uk.ac.ebi.intact.psicquic.wsclient.MitabPsicquicClientTest.client(MitabPsicquicClientTest.java:37) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at > org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99) > at > org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81) > at > org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) > at > org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75) > at > org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45) > at > org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:75) > at > org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:36) > at > org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42) > at > org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34) > at > org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52) > at > com.intellij.rt.junit4.Junit4TestMethodAdapter.run(Junit4TestMethodAdapter.java:62) > at junit.textui.TestRunner.doRun(TestRunner.java:116) > at > com.intellij.rt.execution.junit.IdeaTestRunner.doRun(IdeaTestRunner.java:94) > at junit.textui.TestRunner.doRun(TestRunner.java:109) > at > com.intellij.rt.execution.junit.IdeaTestRunner.startRunnerWithArgs(IdeaTestRunner.java:22) > at > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:118) > at > com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90) > > Thanks, > > Bruno > > 2009/4/16 Daniel Kulp <[email protected]> > > >> Hmm... not a useful stack trace. Looks like we're wrappering a Fault >> with >> another Fault and the cause of that fault is "off the end" of your trace. >> :-( >> >> Any chance you could catch the fault and dig into the causes and get those >> stack traces? >> >> That said, I see: >> WrapperHelper$ReflectWrapperHelper. >> which USUALLY means that asm wasn't found on the classpath (or a 1.x >> version >> of asm was found, we need 2.x or 3.x). You MAY be able to add asm which >> should flip it over to a non-reflection based wrapper helper. Maybe the >> bug >> doesn't exist in that version. >> >> However, I'd still like to see the stack trace to try and figure out what >> could be wrong. >> >> Also, you could try the 2.2.1 snapshots. The code around the wrapper >> helpers >> is very different in 2.2.1 so it MIGHT be fixed. (I'm also fixing the >> fault >> wrapping right now so stack traces from tonights snapshots should be more >> useful) >> >> Dan >> >> >> On Thu April 16 2009 1:07:39 pm Bruno Aranda wrote: >> > Hi, >> > >> > I have a web service using Apache CXF 2.2 that works smoothly (using >> > soapUI). I have created a client, using JaxWsClientProxy (same CXF >> version) >> > and when invoking a method that >> > has an array of complex objects as a parameter I get the following >> > exception. However, everything runs fine for other methods of the >> service, >> > where strings or integers are passed. I have the impression this may be >> > related to some dependency and I get the exception both in JSF 5 and 6. >> > >> > Do you have an idea where could I look? Thanks! >> > >> > Bruno >> > >> > Apr 16, 2009 5:27:55 PM org.apache.cxf.phase.PhaseInterceptorChain >> > doIntercept >> > INFO: Interceptor has thrown exception, unwinding now >> > org.apache.cxf.interceptor.Fault >> > at >> > >> org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor.handleMessage( >> >WrapperClassOutInterceptor.java:116) at >> > >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai >> >n.java:236) at >> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:469) at >> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:299) at >> > org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:251) at >> > org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at >> > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124) >> > at $Proxy62.getByInteractorList(Unknown Source) >> > at >> > >> uk.ac.ebi.intact.psicquic.wsclient.MitabPsicquicClient.getByInteractorList( >> >MitabPsicquicClient.java:104) at >> > >> uk.ac.ebi.intact.psicquic.wsclient.MitabPsicquicClientTest.client(MitabPsic >> >quicClientTest.java:37) at >> > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at >> > >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3 >> >9) at >> > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp >> >l.java:25) at java.lang.reflect.Method.invoke(Method.java:585) >> > at >> > >> org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRun >> >ner.java:99) at >> > >> org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner >> >.java:81) at >> > >> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfter >> >Runner.java:34) at >> > >> org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java >> >:75) at >> > >> org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45) >> > at >> > >> org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClas >> >sMethodsRunner.java:75) at >> > >> org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunne >> >r.java:36) at >> > >> org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner >> >.java:42) at >> > >> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfter >> >Runner.java:34) at >> > org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52) >> > at >> > >> com.intellij.rt.junit4.Junit4TestMethodAdapter.run(Junit4TestMethodAdapter. >> >java:62) at junit.textui.TestRunner.doRun(TestRunner.java:116) >> > at >> > >> com.intellij.rt.execution.junit.IdeaTestRunner.doRun(IdeaTestRunner.java:94 >> >) at junit.textui.TestRunner.doRun(TestRunner.java:109) >> > at >> > >> com.intellij.rt.execution.junit.IdeaTestRunner.startRunnerWithArgs(IdeaTest >> >Runner.java:22) at >> > >> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitSt >> >arter.java:118) at >> > com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40) >> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> > at >> > >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3 >> >9) at >> > >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp >> >l.java:25) at java.lang.reflect.Method.invoke(Method.java:585) >> > at >> com.intellij.rt.execution.application.AppMain.main(AppMain.java:90) >> > Caused by: org.apache.cxf.interceptor.Fault >> > at >> > >> org.apache.cxf.jaxws.interceptors.WrapperHelper$ReflectWrapperHelper.create >> >WrapperObject(WrapperHelper.java:363) at >> > >> org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor.handleMessage( >> >WrapperClassOutInterceptor.java:102) ... 35 more >> >> -- >> Daniel Kulp >> [email protected] >> http://www.dankulp.com/blog >> > >
