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
>

Reply via email to