Hi, Yes, other methods like the one you propose works. I have an very similar method that instead of the list of DbRef accepts just a DbRef and that one works. I will try to debug it further and to create a simple test case if I can...
Thanks, Bruno 2009/4/20 Daniel Kulp <[email protected]> > > The list should work fine as long as the thing it is a list of also works > fine. Are there any annotations on DbRef? The issue really comes down > to > why is the typeQName null in this case. It should definitely not be. > > Does a method like: > > int testDbRef(DbRef ref) > > work? > > Any chance you could create a small sample and attach to a JIRA? > > Dan > > > > On Mon April 20 2009 5:27:49 am Bruno Aranda wrote: > > 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(Abst > > >ractWrapperHelper.java:86) at > > > > org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor.handleMessag > > >e(WrapperClassOutInterceptor.java:103) at > > > > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCh > > >ain.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.getByInteractorLis > > >t(MitabPsicquicClient.java:104) at > > > > uk.ac.ebi.intact.psicquic.wsclient.MitabPsicquicClientTest.client(MitabPs > > >icquicClientTest.java:37) at > > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java > > >:39) at > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI > > >mpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) > > > at > > > > org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodR > > >unner.java:99) at > > > > org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunn > > >er.java:81) at > > > > org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAft > > >erRunner.java:34) at > > > > org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.ja > > >va:75) at > > > > org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45) > > > at > > > > org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestCl > > >assMethodsRunner.java:75) at > > > > org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRun > > >ner.java:36) at > > > > org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunn > > >er.java:42) at > > > > org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAft > > >erRunner.java:34) at > > > org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52) > > > at > > > > com.intellij.rt.junit4.Junit4TestMethodAdapter.run(Junit4TestMethodAdapte > > >r.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(IdeaTe > > >stRunner.java:22) at > > > > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnit > > >Starter.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(DelegatingMethodAccessorI > > >mpl.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(Abst > > >ractWrapperHelper.java:107) at > > > > org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor.handleMessag > > >e(WrapperClassOutInterceptor.java:103) at > > > > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCh > > >ain.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.getByInteractorLis > > >t(MitabPsicquicClient.java:104) at > > > > uk.ac.ebi.intact.psicquic.wsclient.MitabPsicquicClientTest.client(MitabPs > > >icquicClientTest.java:37) at > > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java > > >:39) at > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI > > >mpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) > > > at > > > > org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodR > > >unner.java:99) at > > > > org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunn > > >er.java:81) at > > > > org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAft > > >erRunner.java:34) at > > > > org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.ja > > >va:75) at > > > > org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45) > > > at > > > > org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestCl > > >assMethodsRunner.java:75) at > > > > org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRun > > >ner.java:36) at > > > > org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunn > > >er.java:42) at > > > > org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAft > > >erRunner.java:34) at > > > org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52) > > > at > > > > com.intellij.rt.junit4.Junit4TestMethodAdapter.run(Junit4TestMethodAdapte > > >r.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(IdeaTe > > >stRunner.java:22) at > > > > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnit > > >Starter.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(DelegatingMethodAccessorI > > >mpl.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.handleMessa > > >>ge( > > >> > > >> >WrapperClassOutInterceptor.java:116) at > > >> > > >> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC > > >>hai > > >> > > >> >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.getByInteractorLi > > >>st( > > >> > > >> >MitabPsicquicClient.java:104) at > > >> > > >> > uk.ac.ebi.intact.psicquic.wsclient.MitabPsicquicClientTest.client(MitabP > > >>sic > > >> > > >> >quicClientTest.java:37) at > > >> > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at > > >> > > >> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav > > >>a:3 > > >> > > >> >9) at > > >> > > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor > > >>Imp > > >> > > >> >l.java:25) at java.lang.reflect.Method.invoke(Method.java:585) > > >> > at > > >> > > >> > org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethod > > >>Run > > >> > > >> >ner.java:99) at > > >> > > >> > org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRun > > >>ner > > >> > > >> >.java:81) at > > >> > > >> > org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAf > > >>ter > > >> > > >> >Runner.java:34) at > > >> > > >> > org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.j > > >>ava > > >> > > >> >:75) at > > >> > > >> > org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45 > > >>) > > >> > > >> > at > > >> > > >> > org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestC > > >>las > > >> > > >> >sMethodsRunner.java:75) at > > >> > > >> > org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRu > > >>nne > > >> > > >> >r.java:36) at > > >> > > >> > org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRun > > >>ner > > >> > > >> >.java:42) at > > >> > > >> > org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAf > > >>ter > > >> > > >> >Runner.java:34) at > > >> > > org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52 > > >> >) at > > >> > > >> > com.intellij.rt.junit4.Junit4TestMethodAdapter.run(Junit4TestMethodAdapt > > >>er. > > >> > > >> >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(IdeaT > > >>est > > >> > > >> >Runner.java:22) at > > >> > > >> > com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUni > > >>tSt > > >> > > >> >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.jav > > >>a:3 > > >> > > >> >9) at > > >> > > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor > > >>Imp > > >> > > >> >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.cre > > >>ate > > >> > > >> >WrapperObject(WrapperHelper.java:363) at > > >> > > >> > org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor.handleMessa > > >>ge( > > >> > > >> >WrapperClassOutInterceptor.java:102) ... 35 more > > >> > > >> -- > > >> Daniel Kulp > > >> [email protected] > > >> http://www.dankulp.com/blog > > -- > Daniel Kulp > [email protected] > http://www.dankulp.com/blog >
