You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Marco Zapletal <ma...@gmail.com> on 2010/11/11 15:04:24 UTC

2.3.0: NPE in ClientImpl.setupInterceptorChain

Hello,

My services have been running fine with CXF 2.2.x. However, when 
switching to 2.3.0 running my tests throw the exception shown below.

I went through the code and within ClientImpl.setupInterceptorChain() 
retrieving a PhaseManager instance returns null in 2.3.0, whereas in 
2.2.x a valid instance is returned.

Could someone give me a hint, what has changed in 2.3.0 that leads to 
this error?

thanks,
marco


<ex>

javax.xml.ws.soap.SOAPFaultException: Fault string, and possibly fault 
code, not set
	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146)
	at $Proxy95.deliverMessage(Unknown Source)
	at com.MyTest.test(MyTest.java:208)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
	at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
	at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
	at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
	at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
	at 
org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
	at 
org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:82)
	at 
org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
	at 
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240)
	at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
	at 
org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
	at 
org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
	at 
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180)
	at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
	at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.NullPointerException
	at 
org.apache.cxf.endpoint.ClientImpl.setupInterceptorChain(ClientImpl.java:888)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:504)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)
	at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
	... 31 more

</ex>

Re: 2.3.0: NPE in ClientImpl.setupInterceptorChain

Posted by Marco Zapletal <ma...@gmail.com>.
I think it is better to continue the discussion on the camel mailing 
list. Please see my answer there.

http://camel.465427.n5.nabble.com/camel-cxf-exception-when-parsing-cxf-schemaLocation-element-td3253254.html

thanks,
marco

Am 12.11.2010 11:15, schrieb Willem Jiang:
>
> How do you use the Jetty ?
> Are you just using the cxf-transport-http-jetty module ?
>  From CXF is using Jetty7 from 2.3.0.
> If you are using Camel 2.6-SNAPSHOT, I just upgraded the Jetty version
> recently. Can you make sure you pick up the latest Camel 2.6-SNAPSHOT ?
>
>
> On 11/12/10 5:54 PM, Marco Zapletal wrote:
>> the error only occurs when I am running my Junit tests using the
>> integrated jetty. My spring config is quite simple, however, my CXF
>> services are exposed by Camel (2.6-SNAPSHOT), which makes it a bit
>> harder to dig into the problem.
>>
>> For the moment, I can switch back to Camel 2.5/CXF 2.2.11 and approach
>> the problem later on again.
>>
>> regards,
>> marco
>>
>>
>> Am 11.11.2010 23:38, schrieb Daniel Kulp:
>>> On Thursday 11 November 2010 9:04:24 am Marco Zapletal wrote:
>>>> Hello,
>>>>
>>>> My services have been running fine with CXF 2.2.x. However, when
>>>> switching to 2.3.0 running my tests throw the exception shown below.
>>>>
>>>> I went through the code and within ClientImpl.setupInterceptorChain()
>>>> retrieving a PhaseManager instance returns null in 2.3.0, whereas in
>>>> 2.2.x a valid instance is returned.
>>>>
>>>> Could someone give me a hint, what has changed in 2.3.0 that leads to
>>>> this error?
>>>
>>> Honestly, I have no idea. Do you have a custom Spring configuration or
>>> similar? I'm really not sure how to even approach this. The
>>> PhaseManagerImpl is defined in the META-INF/cxf/cxf.xml and thus
>>> should be
>>> available and found. No idea why it wouldn't be.
>>>
>>> Dan
>>>
>>>
>>>>
>>>> thanks,
>>>> marco
>>>>
>>>>
>>>> <ex>
>>>>
>>>> javax.xml.ws.soap.SOAPFaultException: Fault string, and possibly fault
>>>> code, not set
>>>> at
>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146)
>>>> at $Proxy95.deliverMessage(Unknown Source)
>>>> at com.MyTest.test(MyTest.java:208)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>>> at
>>>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod
>>>>
>>>>
>>>> .java:44) at
>>>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.
>>>>
>>>>
>>>> java:15) at
>>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.j
>>>>
>>>>
>>>> ava:41) at
>>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.ja
>>>>
>>>>
>>>> va:20) at
>>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:2
>>>>
>>>>
>>>> 8) at
>>>> org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallb
>>>>
>>>>
>>>> acks.evaluate(RunBeforeTestMethodCallbacks.java:74) at
>>>> org.springframework.test.context.junit4.statements.RunAfterTestMethodCallba
>>>>
>>>>
>>>> cks.evaluate(RunAfterTestMethodCallbacks.java:82) at
>>>> org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(Sp
>>>>
>>>>
>>>> ringRepeat.java:72) at
>>>> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(Sp
>>>>
>>>>
>>>> ringJUnit4ClassRunner.java:240) at
>>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.ja
>>>>
>>>>
>>>> va:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>>>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>>>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>>>> at
>>>> org.springframework.test.context.junit4.statements.RunBeforeTestClassCallba
>>>>
>>>>
>>>> cks.evaluate(RunBeforeTestClassCallbacks.java:61) at
>>>> org.springframework.test.context.junit4.statements.RunAfterTestClassCallbac
>>>>
>>>>
>>>> ks.evaluate(RunAfterTestClassCallbacks.java:70) at
>>>> org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>>>> at
>>>> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJ
>>>>
>>>>
>>>> Unit4ClassRunner.java:180) at
>>>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestRe
>>>>
>>>>
>>>> ference.java:49) at
>>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:
>>>>
>>>>
>>>> 38) at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestR
>>>>
>>>>
>>>> unner.java:467) at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestR
>>>>
>>>>
>>>> unner.java:683) at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner
>>>>
>>>>
>>>> .java:390) at
>>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunne
>>>>
>>>>
>>>> r.java:197) Caused by: java.lang.NullPointerException
>>>> at
>>>> org.apache.cxf.endpoint.ClientImpl.setupInterceptorChain(ClientImpl.java:88
>>>>
>>>>
>>>> 8) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:504) at
>>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) at
>>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265) at
>>>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at
>>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>>>> ... 31 more
>>>>
>>>> </ex>
>>>
>>
>>
>
>


Re: 2.3.0: NPE in ClientImpl.setupInterceptorChain

Posted by Willem Jiang <wi...@gmail.com>.
How do you use the Jetty ?
Are you just using the cxf-transport-http-jetty module ?
 From CXF is using Jetty7 from 2.3.0.
If you are using Camel 2.6-SNAPSHOT, I just upgraded the Jetty version 
recently. Can you make sure you pick up the latest Camel 2.6-SNAPSHOT ?


On 11/12/10 5:54 PM, Marco Zapletal wrote:
> the error only occurs when I am running my Junit tests using the
> integrated jetty. My spring config is quite simple, however, my CXF
> services are exposed by Camel (2.6-SNAPSHOT), which makes it a bit
> harder to dig into the problem.
>
> For the moment, I can switch back to Camel 2.5/CXF 2.2.11 and approach
> the problem later on again.
>
> regards,
> marco
>
>
> Am 11.11.2010 23:38, schrieb Daniel Kulp:
>> On Thursday 11 November 2010 9:04:24 am Marco Zapletal wrote:
>>> Hello,
>>>
>>> My services have been running fine with CXF 2.2.x. However, when
>>> switching to 2.3.0 running my tests throw the exception shown below.
>>>
>>> I went through the code and within ClientImpl.setupInterceptorChain()
>>> retrieving a PhaseManager instance returns null in 2.3.0, whereas in
>>> 2.2.x a valid instance is returned.
>>>
>>> Could someone give me a hint, what has changed in 2.3.0 that leads to
>>> this error?
>>
>> Honestly, I have no idea. Do you have a custom Spring configuration or
>> similar? I'm really not sure how to even approach this. The
>> PhaseManagerImpl is defined in the META-INF/cxf/cxf.xml and thus
>> should be
>> available and found. No idea why it wouldn't be.
>>
>> Dan
>>
>>
>>>
>>> thanks,
>>> marco
>>>
>>>
>>> <ex>
>>>
>>> javax.xml.ws.soap.SOAPFaultException: Fault string, and possibly fault
>>> code, not set
>>> at
>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146)
>>> at $Proxy95.deliverMessage(Unknown Source)
>>> at com.MyTest.test(MyTest.java:208)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> at java.lang.reflect.Method.invoke(Unknown Source)
>>> at
>>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod
>>>
>>> .java:44) at
>>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.
>>>
>>> java:15) at
>>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.j
>>>
>>> ava:41) at
>>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.ja
>>>
>>> va:20) at
>>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:2
>>>
>>> 8) at
>>> org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallb
>>>
>>> acks.evaluate(RunBeforeTestMethodCallbacks.java:74) at
>>> org.springframework.test.context.junit4.statements.RunAfterTestMethodCallba
>>>
>>> cks.evaluate(RunAfterTestMethodCallbacks.java:82) at
>>> org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(Sp
>>>
>>> ringRepeat.java:72) at
>>> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(Sp
>>>
>>> ringJUnit4ClassRunner.java:240) at
>>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.ja
>>>
>>> va:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>>> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>>> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>>> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>>> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>>> at
>>> org.springframework.test.context.junit4.statements.RunBeforeTestClassCallba
>>>
>>> cks.evaluate(RunBeforeTestClassCallbacks.java:61) at
>>> org.springframework.test.context.junit4.statements.RunAfterTestClassCallbac
>>>
>>> ks.evaluate(RunAfterTestClassCallbacks.java:70) at
>>> org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>>> at
>>> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJ
>>>
>>> Unit4ClassRunner.java:180) at
>>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestRe
>>>
>>> ference.java:49) at
>>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:
>>>
>>> 38) at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestR
>>>
>>> unner.java:467) at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestR
>>>
>>> unner.java:683) at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner
>>>
>>> .java:390) at
>>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunne
>>>
>>> r.java:197) Caused by: java.lang.NullPointerException
>>> at
>>> org.apache.cxf.endpoint.ClientImpl.setupInterceptorChain(ClientImpl.java:88
>>>
>>> 8) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:504) at
>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) at
>>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265) at
>>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at
>>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>>> ... 31 more
>>>
>>> </ex>
>>
>
>


-- 
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog:    http://willemjiang.blogspot.com (English)
          http://jnn.javaeye.com (Chinese)
Twitter: willemjiang

Re: 2.3.0: NPE in ClientImpl.setupInterceptorChain

Posted by Marco Zapletal <ma...@gmail.com>.
the error only occurs when I am running my Junit tests using the 
integrated jetty. My spring config is quite simple, however, my CXF 
services are exposed by Camel (2.6-SNAPSHOT), which makes it a bit 
harder to dig into the problem.

For the moment, I can switch back to Camel 2.5/CXF 2.2.11 and approach 
the problem later on again.

regards,
marco


Am 11.11.2010 23:38, schrieb Daniel Kulp:
> On Thursday 11 November 2010 9:04:24 am Marco Zapletal wrote:
>> Hello,
>>
>> My services have been running fine with CXF 2.2.x. However, when
>> switching to 2.3.0 running my tests throw the exception shown below.
>>
>> I went through the code and within ClientImpl.setupInterceptorChain()
>> retrieving a PhaseManager instance returns null in 2.3.0, whereas in
>> 2.2.x a valid instance is returned.
>>
>> Could someone give me a hint, what has changed in 2.3.0 that leads to
>> this error?
>
> Honestly, I have no idea.   Do you have a custom Spring configuration or
> similar?   I'm really not sure how to even approach this.   The
> PhaseManagerImpl is defined in the META-INF/cxf/cxf.xml and thus should be
> available and found.   No idea why it wouldn't be.
>
> Dan
>
>
>>
>> thanks,
>> marco
>>
>>
>> <ex>
>>
>> javax.xml.ws.soap.SOAPFaultException: Fault string, and possibly fault
>> code, not set
>> 	at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146)
>> 	at $Proxy95.deliverMessage(Unknown Source)
>> 	at com.MyTest.test(MyTest.java:208)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>> 	at
>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod
>> .java:44) at
>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.
>> java:15) at
>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.j
>> ava:41) at
>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.ja
>> va:20) at
>> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:2
>> 8) at
>> org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallb
>> acks.evaluate(RunBeforeTestMethodCallbacks.java:74) at
>> org.springframework.test.context.junit4.statements.RunAfterTestMethodCallba
>> cks.evaluate(RunAfterTestMethodCallbacks.java:82) at
>> org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(Sp
>> ringRepeat.java:72) at
>> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(Sp
>> ringJUnit4ClassRunner.java:240) at
>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.ja
>> va:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>> 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>> 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>> 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>> 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>> 	at
>> org.springframework.test.context.junit4.statements.RunBeforeTestClassCallba
>> cks.evaluate(RunBeforeTestClassCallbacks.java:61) at
>> org.springframework.test.context.junit4.statements.RunAfterTestClassCallbac
>> ks.evaluate(RunAfterTestClassCallbacks.java:70) at
>> org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>> 	at
>> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJ
>> Unit4ClassRunner.java:180) at
>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestRe
>> ference.java:49) at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:
>> 38) at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestR
>> unner.java:467) at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestR
>> unner.java:683) at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner
>> .java:390) at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunne
>> r.java:197) Caused by: java.lang.NullPointerException
>> 	at
>> org.apache.cxf.endpoint.ClientImpl.setupInterceptorChain(ClientImpl.java:88
>> 8) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:504) at
>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) at
>> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265) at
>> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at
>> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>> ... 31 more
>>
>> </ex>
>


Re: 2.3.0: NPE in ClientImpl.setupInterceptorChain

Posted by Daniel Kulp <dk...@apache.org>.
On Thursday 11 November 2010 9:04:24 am Marco Zapletal wrote:
> Hello,
> 
> My services have been running fine with CXF 2.2.x. However, when
> switching to 2.3.0 running my tests throw the exception shown below.
> 
> I went through the code and within ClientImpl.setupInterceptorChain()
> retrieving a PhaseManager instance returns null in 2.3.0, whereas in
> 2.2.x a valid instance is returned.
> 
> Could someone give me a hint, what has changed in 2.3.0 that leads to
> this error?

Honestly, I have no idea.   Do you have a custom Spring configuration or 
similar?   I'm really not sure how to even approach this.   The 
PhaseManagerImpl is defined in the META-INF/cxf/cxf.xml and thus should be 
available and found.   No idea why it wouldn't be.

Dan


> 
> thanks,
> marco
> 
> 
> <ex>
> 
> javax.xml.ws.soap.SOAPFaultException: Fault string, and possibly fault
> code, not set
> 	at 
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146)
> 	at $Proxy95.deliverMessage(Unknown Source)
> 	at com.MyTest.test(MyTest.java:208)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod
> .java:44) at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.
> java:15) at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.j
> ava:41) at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.ja
> va:20) at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:2
> 8) at
> org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallb
> acks.evaluate(RunBeforeTestMethodCallbacks.java:74) at
> org.springframework.test.context.junit4.statements.RunAfterTestMethodCallba
> cks.evaluate(RunAfterTestMethodCallbacks.java:82) at
> org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(Sp
> ringRepeat.java:72) at
> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(Sp
> ringJUnit4ClassRunner.java:240) at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.ja
> va:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
> 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
> 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
> 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
> 	at
> org.springframework.test.context.junit4.statements.RunBeforeTestClassCallba
> cks.evaluate(RunBeforeTestClassCallbacks.java:61) at
> org.springframework.test.context.junit4.statements.RunAfterTestClassCallbac
> ks.evaluate(RunAfterTestClassCallbacks.java:70) at
> org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> 	at
> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJ
> Unit4ClassRunner.java:180) at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestRe
> ference.java:49) at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:
> 38) at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestR
> unner.java:467) at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestR
> unner.java:683) at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner
> .java:390) at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunne
> r.java:197) Caused by: java.lang.NullPointerException
> 	at
> org.apache.cxf.endpoint.ClientImpl.setupInterceptorChain(ClientImpl.java:88
> 8) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:504) at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265) at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
> ... 31 more
> 
> </ex>

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