After upgrading spring to 3.1.1.RELEASE, the issue has gone :)
-----Original Message-----
From: Pavel Khodchenkov
Sent: Wednesday, May 09, 2012 4:01 PM
To: [email protected]
Subject: RE: Spring : TypeMismatchException in jaxrs:client after upgrading to
2.6.0
Hi,
Cxf-2.6.0 uses spring 3.0.7.RELEASE and org.apache.cxf.jaxrs.spring.
JAXRSClientFactoryBeanTest works fine.
However, it also fails if spring version 3.1.0.RELEASE is used:
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'setHeaderClient.proxyFactory': Error setting property values; nested
exception is org.springframework.beans.PropertyBatchUpdateException; nested
PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.TypeMismatchException:
Failed to convert property value of type 'java.util.LinkedHashMap' to required
type 'java.util.Map' for property 'headers'; nested exception is
java.lang.ClassCastException: java.util.ArrayList cannot be cast to
java.lang.String
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1396)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
at
org.apache.cxf.jaxrs.spring.JAXRSClientFactoryBeanTest.testClients(JAXRSClientFactoryBeanTest.java:41)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
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.RunAfters.evaluate(RunAfters.java:31)
at
org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
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.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:76)
at
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:182)
at
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested
PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.TypeMismatchException:
Failed to convert property value of type 'java.util.LinkedHashMap' to required
type 'java.util.Map' for property 'headers'; nested exception is
java.lang.ClassCastException: java.util.ArrayList cannot be cast to
java.lang.String
at
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:102)
at
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:58)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393)
... 40 more
-----Original Message-----
From: Pavel Khodchenkov
Sent: Wednesday, May 09, 2012 12:19 AM
To: <[email protected]>
Cc: [email protected]
Subject: Re: Spring : TypeMismatchException in jaxrs:client after upgrading to
2.6.0
Hi,
No,it's not an osgi env. I will checkout cxf 2.6. Sources and compare my config
with unit cxf unit test
Sent from my iPad
On 08.05.2012, at 14:51, "Sergey Beryozkin" <[email protected]> wrote:
> Hi
> On 07/05/12 14:45, Pavel Khodchenkov wrote:
>> Hi folks,
>> I am having the following exception in Spring after upgrading to cxf 2.6.0
>> from 2.5.2:
>>
>> Caused by: org.springframework.beans.factory.BeanCreationException: Error
>> creating bean with name 'transactionServiceRestPort.proxyFactory': Error
>> setting property values; nested exception is
>> org.springframework.beans.PropertyBatchUpdateException; nested
>> PropertyAccessExceptions (1) are:
>> PropertyAccessException 1: org.springframework.beans.TypeMismatchException:
>> Failed to convert property value of type 'java.util.LinkedHashMap' to
>> required type 'java.util.Map' for property 'headers'; nested exception is
>> java.lang.ClassCastException: java.util.ArrayList cannot be cast to
>> java.lang.String
>>
>> Code snippet:
>>
>> <jaxrs:client id="transactionServiceRestPort"
>>
>> address="http://localhost:9090/services/TransactionRestService"
>>
>> serviceClass="com.kitd.services.transaction.api.TransactionService"
>> inheritHeaders="true">
>> <jaxrs:headers>
>> <entry key="Content-Type" value="application/xml"/>
>> <entry key="Accept" value="application/xml"/>
>> </jaxrs:headers>
>> </jaxrs:client>
>>
>> What is wrong with headers?
>
> Does it happen in the OSGI environment ? Looks like a class loader issue...We
> have a simple jaxrs client loaded from Spring where the headers are also
> specified. It is difficult to figure out where the problem is without a test
> case.
>
> Cheers, Sergey
>
>> This e-mail and any attachments are confidential and intended solely for the
>> addressee and may also be privileged or exempt from disclosure under
>> applicable law. If you are not the addressee, or have received this e-mail
>> in error, please notify the sender immediately, delete it from your system
>> and do not copy, disclose or otherwise act upon any part of this e-mail or
>> its attachments. Internet communications are not guaranteed to be secure or
>> virus-free. KIT digital Inc. and its affiliates do not accept responsibility
>> for any loss arising from unauthorised access to, or interference with, any
>> Internet communications by any third party, or from the transmission of any
>> viruses.
>>
>
>
> --
> Sergey Beryozkin
>
> Talend Community Coders
> http://coders.talend.com/
>
> Blog: http://sberyozkin.blogspot.com