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.

Reply via email to