Databinding HashMap of HashMap of a complex Object
---------------------------------------------------
Key: CXF-1878
URL: https://issues.apache.org/jira/browse/CXF-1878
Project: CXF
Issue Type: Bug
Components: Aegis Databinding
Affects Versions: 2.0.7
Environment: Linux and Windows with JDK Sun 1.6.0_05 - 1.6.0_06 (it
has been seen also on other jdk)
Reporter: tomas darbois
Hello, in the project I'm working on (a project based partly on CXF with
aegis), I've got trouble with complex databinding. The developer, who has
configured the cxf part, told me to send an email on the CXF mailing list about
the problem we had in order to see where and why it happens.
We want to be able to manage method with complex parameter like MyObject
* MyObject with class attributes
* String
* String
* ArrayList<HashMap,MySecondObject>
* MySecondObject with class attributes
* String
* String
* ArrayList<HashMap,Long>
But we have the following issue "org.apache.cxf.aegis.DatabindingException:
Couldn't instantiate class. null. Nested exception is
java.lang.InstantiationException: null
org.apache.cxf.binding.soap.SoapFault:" since ArrayList<HashMap,MySecondObject>
is not NULL.
I have simplified my example and I have the same issue with an HashMap of
HashMap of SimpleInDataBean (composed of two String parameters).
//KO
public void
manageHashMapOfHashMapOfSimpleInDataBean(HashMap<String,HashMap<String,SimpleInDataBean>>
myComplexData);
//OK
public void manageHashMapOfSimpleInDataBean(HashMap<String,SimpleInDataBean>
myComplexData);
Here is the error stack trace I got:
org.apache.cxf.aegis.DatabindingException: Couldn't instantiate class. null.
Nested exception is java.lang.InstantiationException: null
org.apache.cxf.binding.soap.SoapFault:
org.apache.cxf.aegis.DatabindingException: Couldn't instantiate class. null.
Nested exception is java.lang.InstantiationException: null
at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:70)
at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
at
org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:96)
at
org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:65)
at
org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:429)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1996)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1832)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:591)
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at org.apache.cxf.frontend.ClientProxy.invoke(ClientProxy.java:68)
at $Proxy12.manageHashMapOfHashMapOfSimpleInDataBean(Unknown Source) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
org.objectweb.fractal.bf.AbstractRemoteServiceCaller.invoke(AbstractRemoteServiceCaller.java:64)
at $Proxy12.manageHashMapOfHashMapOfSimpleInDataBean(Unknown Source) at
org.objectweb.fractal.julia.generated.Cba88d802_0.manageHashMapOfHashMapOfSimpleInDataBean(INTERCEPTOR[WebService1Service])
at
org.objectweb.fractal.julia.generated.C345d7387_0.manageHashMapOfHashMapOfSimpleInDataBean(INTERFACE[WebService1Service])
at
com.edifixio.ecommerce.exemple.binding.service.webservice1.WebService1ServiceFcOutItf.manageHashMapOfHashMapOfSimpleInDataBean(WebService1ServiceFcOutItf.java:78)
at
com.edifixio.ecommerce.exemple.binding.service.webservice1.WebService1ServiceFcSR.manageHashMapOfHashMapOfSimpleInDataBean(WebService1ServiceFcSR.java:62)
at
com.edifixio.ecommerce.exemple.binding.application.binding.BindingApplicationImpl.manageHashMapOfHashMapOfSimpleInDataBean(BindingApplicationImpl.java:106)
at
com.edifixio.ecommerce.exemple.binding.application.binding.BindingApplicationInterceptorLCSCACCIntent.manageHashMapOfHashMapOfSimpleInDataBean(BindingApplicationInterceptorLCSCACCIntent.java:529)
at
com.edifixio.ecommerce.exemple.binding.application.binding.BindingApplicationFcItf.manageHashMapOfHashMapOfSimpleInDataBean(BindingApplicationFcItf.java:94)
at
com.edifixio.ecommerce.exemple.binding.test.service.webservice1.ManageHashMapOfHashMapOfSimpleInDataBeanTest.testManageHashMapOfHashMapOfSimpleInDataBean_SimpleInDataBeanEmpty(ManageHashMapOfHashMapOfSimpleInDataBeanTest.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at junit.framework.TestCase.runTest(TestCase.java:154)
Do not hesitate if you need more details
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.