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
>>
>
>

Reply via email to