[ https://issues.apache.org/jira/browse/CXF-4605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13493199#comment-13493199 ]
Vassilis Virvilis commented on CXF-4605: ---------------------------------------- Here are the exceptions I get WARNING: Interceptor for {http://iface/}TestInterface#{http://iface/}testComplexMapResult has thrown exception, unwinding now org.apache.cxf.interceptor.Fault: Could not determine how to read type: {http://iface/}anyType2anyTypeHashMap at org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:58) at org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:36) at org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInterceptor.java:303) at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:127) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:801) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1590) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1488) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1307) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:622) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:531) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:367) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:320) at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:89) at org.apache.cxf.frontend.ClientProxy.invoke(ClientProxy.java:81) at $Proxy21.testComplexMapResult(Unknown Source) at client.TestClient.testComplexMapResult(TestClient.java:50) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 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: org.apache.cxf.aegis.DatabindingException: Could not determine how to read type: {http://iface/}anyType2anyTypeHashMap at org.apache.cxf.aegis.type.basic.ObjectType.readObject(ObjectType.java:125) at org.apache.cxf.aegis.type.basic.ObjectType.readObject(ObjectType.java:141) at org.apache.cxf.aegis.type.collection.MapType.readObject(MapType.java:92) at org.apache.cxf.aegis.AegisXMLStreamDataReader.read(AegisXMLStreamDataReader.java:83) at org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:51) ... 43 more INFO: client.TestClient.testDirectComplexMapResult(TestClient.java:55): {key1={1=3}} INFO: client.TestClient.testSortedMapResult(TestClient.java:70): {0=2, 1=3} and WARNING: Interceptor for {http://iface/}TestInterface#{http://iface/}testComplexTreeMapResult has thrown exception, unwinding now org.apache.cxf.interceptor.Fault: Could not determine how to read type: {http://iface/}anyType2anyTypeTreeMap at org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:58) at org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:36) at org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInterceptor.java:303) at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:127) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:801) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1590) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1488) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1307) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:622) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:531) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:367) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:320) at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:89) at org.apache.cxf.frontend.ClientProxy.invoke(ClientProxy.java:81) at $Proxy21.testComplexTreeMapResult(Unknown Source) at client.TestClient.testComplexTreeMapResult(TestClient.java:95) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 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: org.apache.cxf.aegis.DatabindingException: Could not determine how to read type: {http://iface/}anyType2anyTypeTreeMap at org.apache.cxf.aegis.type.basic.ObjectType.readObject(ObjectType.java:125) at org.apache.cxf.aegis.type.basic.ObjectType.readObject(ObjectType.java:141) at org.apache.cxf.aegis.type.collection.MapType.readObject(MapType.java:92) at org.apache.cxf.aegis.AegisXMLStreamDataReader.read(AegisXMLStreamDataReader.java:83) at org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:51) ... 43 more > SortedMap is not returned when another unrelated method exists in the > interface > ------------------------------------------------------------------------------- > > Key: CXF-4605 > URL: https://issues.apache.org/jira/browse/CXF-4605 > Project: CXF > Issue Type: Bug > Components: Aegis Databinding > Affects Versions: 2.7.0 > Environment: Debian unstable / tomcat7 / opennjdk7 > Reporter: Vassilis Virvilis > Assignee: Daniel Kulp > Fix For: 2.7.1 > > Attachments: ws-test-issue-4605.tgz > > > During testing of bug 4534 I stumbled upon the following behavior. Subsets > of tests were passing when run standalone but failing when run in the full > test suite. > So I have narrowed it down to one method that fails when another is > uncommented in the interface. > Interface: > // uncomment this for the next method to fail > // public Map<String, Map<Integer, Integer>> testDirectComplexMapResult(); > // fail -- puts data into a hashmap instead of a SortedMap if the above > is uncommented > public Map<String, SortedMap<Integer, Integer>> > testDirectComplexTreeMapResult(); > Implementation: > //@Override > public Map<String, Map<Integer, Integer>> testDirectComplexMapResult() { > final Map<String, Map<Integer, Integer>> result = new HashMap<String, > Map<Integer, Integer>>(); > final TreeMap<Integer, Integer> map1 = new TreeMap<Integer, > Integer>(); > map1.put(1, 3); > result.put("key1", map1); > return result; > } > @Override > public Map<String, SortedMap<Integer, Integer>> > testDirectComplexTreeMapResult() { > final Map<String, SortedMap<Integer, Integer>> result = new > HashMap<String, SortedMap<Integer, Integer>>(); > final TreeMap<Integer, Integer> map1 = new TreeMap<Integer, > Integer>(); > map1.put(1, 3); > map1.put(0, 2); > result.put("key1", map1); > return result; > } > Client: > @Test > public void testDirectComplexTreeMapResult() { > final Map map = TestServiceFactory.getService() > .testDirectComplexTreeMapResult(); > log.info(map); > for (final Object vmap : map.values()) { > Assert.assertTrue(vmap instanceof SortedMap); > } > } -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira