[jira] [Created] (CXF-3526) Aegis cannot handle nested map inheritance

2011-05-17 Thread Vassilis Virvilis (JIRA)
Aegis cannot handle nested map inheritance
--

 Key: CXF-3526
 URL: https://issues.apache.org/jira/browse/CXF-3526
 Project: CXF
  Issue Type: Bug
  Components: Aegis Databinding
Affects Versions: 2.3.3
 Environment: Debian GNU/Linux tomcat 6
Reporter: Vassilis Virvilis


The following code fails when trying to retrieve data with the simple fronted

public class ComplexMapResult extends
HashMap> {
}

// fail returns null map value
public ComplexMapResult testComplexMapResult();

How it fails. On retrieve when I try to print the resulting matrix I get
INFO: client.TestClient.testComplexMapResult(TestClient.java:35): 
{key1=[#document: null]}
where I should get a valid map for the key "key1"

The following code succeeds

// success
public Map> testDirectComplexMapResult();

So my guess is Aegis doesn't handle the inheritance very well.

Further more the following code succeeds

// success
public class SimpleMapResult extends HashMap {
}

// success
public SimpleMapResult testSimpleMapResult();

so that means it handles the extension when there is no nesting

I will try to attach the eclipse project for this (~7k)


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CXF-3526) Aegis cannot handle nested map inheritance

2011-05-17 Thread Vassilis Virvilis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CXF-3526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vassilis Virvilis updated CXF-3526:
---

Attachment: ws-test.tgz

And here is the eclipse project. You will need the following jars
cxf-libraries
log4j
commons-logging

> Aegis cannot handle nested map inheritance
> --
>
> Key: CXF-3526
> URL: https://issues.apache.org/jira/browse/CXF-3526
> Project: CXF
>  Issue Type: Bug
>  Components: Aegis Databinding
>Affects Versions: 2.3.3
> Environment: Debian GNU/Linux tomcat 6
>Reporter: Vassilis Virvilis
> Attachments: ws-test.tgz
>
>
> The following code fails when trying to retrieve data with the simple fronted
> public class ComplexMapResult extends
> HashMap> {
> }
> // fail returns null map value
> public ComplexMapResult testComplexMapResult();
> How it fails. On retrieve when I try to print the resulting matrix I get
> INFO: client.TestClient.testComplexMapResult(TestClient.java:35): 
> {key1=[#document: null]}
> where I should get a valid map for the key "key1"
> The following code succeeds
> // success
> public Map> testDirectComplexMapResult();
> So my guess is Aegis doesn't handle the inheritance very well.
> Further more the following code succeeds
> // success
> public class SimpleMapResult extends HashMap {
> }
> // success
> public SimpleMapResult testSimpleMapResult();
> so that means it handles the extension when there is no nesting
> I will try to attach the eclipse project for this (~7k)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (CXF-3527) NullPointer exception when interface contains generics

2011-05-17 Thread Vassilis Virvilis (JIRA)
NullPointer exception when interface contains generics
--

 Key: CXF-3527
 URL: https://issues.apache.org/jira/browse/CXF-3527
 Project: CXF
  Issue Type: Bug
  Components: Aegis Databinding
Affects Versions: 2.3.3
 Environment: Debian GNU/Linux Tomcat6
Reporter: Vassilis Virvilis


The following code fails with a NULL pointer exception in deploy. Always the 
same. In order to reproduce the problem you have to uncomment the method 
declarations otherwise the war does not deploy.

What I would like in case it is not possible to make it work in Aegis due to 
other constraints is a better error mentioning the problematic method because 
right now I have to suspect all methods and play binary search to find the 
problematic ones.

// fails with null pointer exception in deploy
// public T testGeneric(Collection collection);

// success
public Integer testGeneric(Collection collection);

// fails with null pointer exception in deploy
// public  Pair testReturnGenericPair(T1 first, T2 second);

// fails with null pointer exception in deploy
// public Pair testReturnQualifiedPair(Integer first,
// String second);

// fails with null pointer exception in deploy
// public  int testGenericPair(Pair pair);

// fails with null pointer exception in deploy
// public int testQualifiedPair(Pair pair);

You cant find the eclipse project attached in 
https://issues.apache.org/jira/browse/CXF-3526

and here is the exception

May 16, 2011 5:38:12 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of 
class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'test': Invocation of init method failed; nested exception is 
java.lang.NullPointerException
at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at 
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at 
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at 
org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943)
at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:563)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1397)
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:616)
at 
org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
at 
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857)
at 
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795)
at 
org.apache.catalina.manager

[jira] [Commented] (CXF-3526) Aegis cannot handle nested map inheritance

2011-05-25 Thread Vassilis Virvilis (JIRA)

[ 
https://issues.apache.org/jira/browse/CXF-3526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13039127#comment-13039127
 ] 

Vassilis Virvilis commented on CXF-3526:


Looks like that I missed the documentation.

Do you think that it would be possible to give a warning when that happens 
during deploy so the user can tell when something goes wrong from the logs and 
not wait the runtime to see the problem.

Thanks

> Aegis cannot handle nested map inheritance
> --
>
> Key: CXF-3526
> URL: https://issues.apache.org/jira/browse/CXF-3526
> Project: CXF
>  Issue Type: Bug
>  Components: Aegis Databinding
>Affects Versions: 2.3.3
> Environment: Debian GNU/Linux tomcat 6
>Reporter: Vassilis Virvilis
>Assignee: Freeman Fang
> Fix For: 2.4.1, 2.3.5
>
> Attachments: ws-test.tgz
>
>
> The following code fails when trying to retrieve data with the simple fronted
> public class ComplexMapResult extends
> HashMap> {
> }
> // fail returns null map value
> public ComplexMapResult testComplexMapResult();
> How it fails. On retrieve when I try to print the resulting matrix I get
> INFO: client.TestClient.testComplexMapResult(TestClient.java:35): 
> {key1=[#document: null]}
> where I should get a valid map for the key "key1"
> The following code succeeds
> // success
> public Map> testDirectComplexMapResult();
> So my guess is Aegis doesn't handle the inheritance very well.
> Further more the following code succeeds
> // success
> public class SimpleMapResult extends HashMap {
> }
> // success
> public SimpleMapResult testSimpleMapResult();
> so that means it handles the extension when there is no nesting
> I will try to attach the eclipse project for this (~7k)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] Created: (CXF-2142) HTTPS: custom keystore: regression in 2.2 from 2.1.3

2009-03-30 Thread Vassilis Virvilis (JIRA)
HTTPS: custom keystore: regression in 2.2 from 2.1.3


 Key: CXF-2142
 URL: https://issues.apache.org/jira/browse/CXF-2142
 Project: CXF
  Issue Type: Bug
Affects Versions: 2.2
 Environment: debian linux java jre 1.5 unstable
Reporter: Vassilis Virvilis


I have the following regression in https usage. My previous setup in 2.1.3 was 
working correctly with a custom keystore in resources. My cxf.xml was like this

http://www.springframework.org/schema/beans";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:sec="http://cxf.apache.org/configuration/security";
xmlns:http="http://cxf.apache.org/transports/http/configuration";
xsi:schemaLocation="http://cxf.apache.org/configuration/security
http://cxf.apache.org/schemas/configuration/security.xsd
http://cxf.apache.org/transports/http/configuration
http://cxf.apache.org/schemas/configuration/http-conf.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd";>

  http://lib.biovista.com/}UserSessionManagerPort.http-conduit";>

  

  
  
.*
.*_DH_anon_.*
  


  



With 2.2 cxf doesn't pickup the correct keystore. It uses JRE's original 
keystore.
Looks like that something has changed. Following  Dan Kulp's  advise I was
able to get it working by specifying

 https://host.foo.com.*";>

Also it worked the following so I don't need to have the same xml configuration 
for multiple servers
 https://.*.foo.com.*";>
so it looks to me that now we CXF matches against urls instead of wsdl stuff 
(port names, ifnames etc) like
name="{http://lib.foo.com/}UserSessionManagerPort.http-conduit";>
^   ^
| java package name
|___ java interface





-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Updated: (CXF-2142) HTTPS: custom keystore: regression in 2.2 from 2.1.3

2009-03-30 Thread Vassilis Virvilis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CXF-2142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vassilis Virvilis updated CXF-2142:
---


Please ignore / forget about this issue. My testing was incomplete and wrong.

The problem was that the cxf.xml was not being picked up and the reason for 
that was the absence of the spring libraries.

So this is a non issue. Sorry for the noise

> HTTPS: custom keystore: regression in 2.2 from 2.1.3
> 
>
> Key: CXF-2142
> URL: https://issues.apache.org/jira/browse/CXF-2142
> Project: CXF
>  Issue Type: Bug
>Affects Versions: 2.2
> Environment: debian linux java jre 1.5 unstable
>Reporter: Vassilis Virvilis
>
> I have the following regression in https usage. My previous setup in 2.1.3 
> was working correctly with a custom keystore in resources. My cxf.xml was 
> like this
> http://www.springframework.org/schema/beans";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:sec="http://cxf.apache.org/configuration/security";
> xmlns:http="http://cxf.apache.org/transports/http/configuration";
> xsi:schemaLocation="http://cxf.apache.org/configuration/security
> http://cxf.apache.org/schemas/configuration/security.xsd
> http://cxf.apache.org/transports/http/configuration
> http://cxf.apache.org/schemas/configuration/http-conf.xsd
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd";>
>name="{http://lib.biovista.com/}UserSessionManagerPort.http-conduit";>
> 
>   
> 
>   
>   
> .*
> .*_DH_anon_.*
>   
> 
> 
>   
> 
> With 2.2 cxf doesn't pickup the correct keystore. It uses JRE's original 
> keystore.
> Looks like that something has changed. Following  Dan Kulp's  advise I was
> able to get it working by specifying
>  https://host.foo.com.*";>
> Also it worked the following so I don't need to have the same xml 
> configuration for multiple servers
>  https://.*.foo.com.*";>
> so it looks to me that now we CXF matches against urls instead of wsdl stuff 
> (port names, ifnames etc) like
> name="{http://lib.foo.com/}UserSessionManagerPort.http-conduit";>
>   ^   ^
>   | java package name
>   |___ java interface

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Closed: (CXF-2142) HTTPS: custom keystore: regression in 2.2 from 2.1.3

2009-03-30 Thread Vassilis Virvilis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CXF-2142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vassilis Virvilis closed CXF-2142.
--

Resolution: Invalid

Please ignore / forget about this issue. My testing was incomplete and wrong. 
 
The problem was that the cxf.xml was not being picked up and the reason for 
that was the absence of the spring libraries. 

So this is a non issue. Sorry for the noise


> HTTPS: custom keystore: regression in 2.2 from 2.1.3
> 
>
> Key: CXF-2142
> URL: https://issues.apache.org/jira/browse/CXF-2142
> Project: CXF
>  Issue Type: Bug
>Affects Versions: 2.2
> Environment: debian linux java jre 1.5 unstable
>Reporter: Vassilis Virvilis
>
> I have the following regression in https usage. My previous setup in 2.1.3 
> was working correctly with a custom keystore in resources. My cxf.xml was 
> like this
> http://www.springframework.org/schema/beans";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:sec="http://cxf.apache.org/configuration/security";
> xmlns:http="http://cxf.apache.org/transports/http/configuration";
> xsi:schemaLocation="http://cxf.apache.org/configuration/security
> http://cxf.apache.org/schemas/configuration/security.xsd
> http://cxf.apache.org/transports/http/configuration
> http://cxf.apache.org/schemas/configuration/http-conf.xsd
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd";>
>name="{http://lib.biovista.com/}UserSessionManagerPort.http-conduit";>
> 
>   
> 
>   
>   
> .*
> .*_DH_anon_.*
>   
> 
> 
>   
> 
> With 2.2 cxf doesn't pickup the correct keystore. It uses JRE's original 
> keystore.
> Looks like that something has changed. Following  Dan Kulp's  advise I was
> able to get it working by specifying
>  https://host.foo.com.*";>
> Also it worked the following so I don't need to have the same xml 
> configuration for multiple servers
>  https://.*.foo.com.*";>
> so it looks to me that now we CXF matches against urls instead of wsdl stuff 
> (port names, ifnames etc) like
> name="{http://lib.foo.com/}UserSessionManagerPort.http-conduit";>
>   ^   ^
>   | java package name
>   |___ java interface

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] [Created] (CXF-4534) SortedMap is returned as HashMap

2012-10-02 Thread Vassilis Virvilis (JIRA)
Vassilis Virvilis created CXF-4534:
--

 Summary: SortedMap is returned as HashMap
 Key: CXF-4534
 URL: https://issues.apache.org/jira/browse/CXF-4534
 Project: CXF
  Issue Type: Bug
  Components: Aegis Databinding
Affects Versions: 2.6.2
 Environment: debian wheezy/testing, unstable
Reporter: Vassilis Virvilis


We have recently upgraded to 2.6.2 and revisit our test suite. Looks like all 
bugs submitted by use have been fixed. Very impressive, thanks a lot.

In our test suite there is a bug that has not been submitted in JIRA. A 
discussion about that bug can be found at

http://comments.gmane.org/gmane.comp.apache.cxf.user/12388

I decided to submit this bug anyway for documentation purposes.

The problem:


The problem is when the interface declares a SortedMap as an argument or as a 
returned value. Here is the relevant snippets.

Interface
-

// fail -- throws exception in the server
public boolean testSortedMapArgument(SortedMap map);

// fail -- puts data into a hashmap instead of a SortedMap
public SortedMap testSortedMapResult();

// fail -- puts data into a hashmap instead of a SortedMap
public Map> 
testDirectComplexTreeMapResult();


Implementation
--

@Override
public boolean testSortedMapArgument(SortedMap map) {
final Class map_class = map.getClass();
final Collection klasses = Arrays.asList(map_class.getClasses());
log.info(String.format("Classes of %s are %s", map_class, klasses));
return klasses.contains(SortedMap.class);
}

@Override
public SortedMap testSortedMapResult() {
final SortedMap result = new TreeMap();
result.put(1, 3);
result.put(0, 2);
return result;
}

@Override
public Map> 
testDirectComplexTreeMapResult() {
final Map> result = new 
HashMap>();
final TreeMap map1 = new TreeMap();
map1.put(1, 3);
map1.put(0, 2);
result.put("key1", map1);
return result;
}

Test Client:


@Test
public void testSortedMapArgument() {
final SortedMap map = new TreeMap();
map.put(1, 3);
map.put(0, 2);
Assert.assertTrue(TestServiceFactory.getService()
.testSortedMapArgument(map));
}

@Test
public void testSortedMapResult() {
final Class map_class = ((Object) TestServiceFactory.getService()
.testDirectComplexTreeMapResult()).getClass();
final Collection klasses = Arrays.asList(map_class.getClasses());
log.info(String.format("Classes of %s are %s", map_class, klasses));
Assert.assertTrue(klasses.contains(SortedMap.class));
}

@Test
public void testDirectComplexTreeMapResult() {
final Class map_class = ((Object) TestServiceFactory.getService()
.testDirectComplexTreeMapResult().get("key1")).getClass();
final Collection klasses = Arrays.asList(map_class.getClasses());
log.info(String.format("Classes of %s are %s", map_class, klasses));
Assert.assertTrue(klasses.contains(SortedMap.class));
}


The result:
---

In cases 2 and 3 I get a hashmap instead of a SortedMap. This is very dangerous 
since it changes program semantics in a very subtle way.

In case 1 I get an exception. Here is the server side part:

@Test
public void testSortedMapArgument() {
final SortedMap map = new TreeMap();
map.put(1, 3);
map.put(0, 2);
Assert.assertTrue(TestServiceFactory.getService()
.testSortedMapArgument(map));
}

@Test
public void testSortedMapResult() {
final Class map_class = ((Object) TestServiceFactory.getService()
.testDirectComplexTreeMapResult()).getClass();
final Collection klasses = Arrays.asList(map_class.getClasses());
log.info(String.format("Classes of %s are %s", map_class, klasses));
Assert.assertTrue(klasses.contains(SortedMap.class));
}

@Test
public void testDirectComplexTreeMapResult() {
final Class map_class = ((Object) TestServiceFactory.getService()
.testDirectComplexTreeMapResult().get("key1")).getClass();
final Collection klasses = Arrays.asList(map_class.getClasses());
log.info(String.format("Classes of %s are %s", map_class, klasses));
Assert.assertTrue(klasses.contains(SortedMap.class));
}

Expected result:


To safely transfer a SortedMap both ways.

I would understand if due to WSDL  constraints reliably transferring a 
sortedMap is not possible. What it would be nice is at least during the deploy 
time an error / warning is issued stating that fact.

Right now we are getting incorrect results in a silent way or a the best case 
an exception at run time.


--
This message i

[jira] [Updated] (CXF-4534) SortedMap is returned as HashMap

2012-10-02 Thread Vassilis Virvilis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CXF-4534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vassilis Virvilis updated CXF-4534:
---

Description: 
We have recently upgraded to 2.6.2 and revisit our test suite. Looks like all 
bugs submitted by use have been fixed. Very impressive, thanks a lot.

In our test suite there is a bug that has not been submitted in JIRA. A 
discussion about that bug can be found at

http://comments.gmane.org/gmane.comp.apache.cxf.user/12388

I decided to submit this bug anyway for documentation purposes.

The problem:


The problem is when the interface declares a SortedMap as an argument or as a 
returned value. Here is the relevant snippets.

Interface
-

// fail -- throws exception in the server
public boolean testSortedMapArgument(SortedMap map);

// fail -- puts data into a hashmap instead of a SortedMap
public SortedMap testSortedMapResult();

// fail -- puts data into a hashmap instead of a SortedMap
public Map> 
testDirectComplexTreeMapResult();


Implementation
--

@Override
public boolean testSortedMapArgument(SortedMap map) {
final Class map_class = map.getClass();
final Collection klasses = Arrays.asList(map_class.getClasses());
log.info(String.format("Classes of %s are %s", map_class, klasses));
return klasses.contains(SortedMap.class);
}

@Override
public SortedMap testSortedMapResult() {
final SortedMap result = new TreeMap();
result.put(1, 3);
result.put(0, 2);
return result;
}

@Override
public Map> 
testDirectComplexTreeMapResult() {
final Map> result = new 
HashMap>();
final TreeMap map1 = new TreeMap();
map1.put(1, 3);
map1.put(0, 2);
result.put("key1", map1);
return result;
}

Test Client:


@Test
public void testSortedMapArgument() {
final SortedMap map = new TreeMap();
map.put(1, 3);
map.put(0, 2);
Assert.assertTrue(TestServiceFactory.getService()
.testSortedMapArgument(map));
}

@Test
public void testSortedMapResult() {
final Class map_class = ((Object) TestServiceFactory.getService()
.testDirectComplexTreeMapResult()).getClass();
final Collection klasses = Arrays.asList(map_class.getClasses());
log.info(String.format("Classes of %s are %s", map_class, klasses));
Assert.assertTrue(klasses.contains(SortedMap.class));
}

@Test
public void testDirectComplexTreeMapResult() {
final Class map_class = ((Object) TestServiceFactory.getService()
.testDirectComplexTreeMapResult().get("key1")).getClass();
final Collection klasses = Arrays.asList(map_class.getClasses());
log.info(String.format("Classes of %s are %s", map_class, klasses));
Assert.assertTrue(klasses.contains(SortedMap.class));
}


The result:
---

In cases 2 and 3 I get a hashmap instead of a SortedMap. This is very dangerous 
since it changes program semantics in a very subtle way.

In case 1 I get an exception. Here is the server side part:

WARNING: Application 
{http://iface/}TestInterface#{http://iface/}testSortedMapArgument has thrown 
exception, unwinding now
org.apache.cxf.interceptor.Fault: argument type mismatch while invoking public 
abstract boolean iface.TestInterface.testSortedMapArgument(java.util.SortedMap) 
with params [{0=2, 1=3}].
at 
org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:166)
at 
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:140)
at 
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
at 
org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at 
org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
at 
org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107)
at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
at 
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at 
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:211)
at 
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213)
at 
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:193)
at 
org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CX

[jira] [Commented] (CXF-4534) SortedMap is returned as HashMap

2012-10-08 Thread Vassilis Virvilis (JIRA)

[ 
https://issues.apache.org/jira/browse/CXF-4534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13471563#comment-13471563
 ] 

Vassilis Virvilis commented on CXF-4534:


I tried with apache-cxf-2.6.3-20121005.080754-29.tar.gz and all 3 problems 
persist.

Should I try with 2.7.0 snapshot?

   Vassilis

> SortedMap is returned as HashMap
> 
>
> Key: CXF-4534
> URL: https://issues.apache.org/jira/browse/CXF-4534
> Project: CXF
>  Issue Type: Bug
>  Components: Aegis Databinding
>Affects Versions: 2.6.2
> Environment: debian wheezy/testing, unstable
>Reporter: Vassilis Virvilis
>Assignee: Daniel Kulp
> Fix For: 2.5.6, 2.6.3
>
>
> We have recently upgraded to 2.6.2 and revisit our test suite. Looks like all 
> bugs submitted by use have been fixed. Very impressive, thanks a lot.
> In our test suite there is a bug that has not been submitted in JIRA. A 
> discussion about that bug can be found at
> http://comments.gmane.org/gmane.comp.apache.cxf.user/12388
> I decided to submit this bug anyway for documentation purposes.
> The problem:
> 
> The problem is when the interface declares a SortedMap as an argument or as a 
> returned value. Here is the relevant snippets.
> Interface
> -
> {code:java}
> // fail -- throws exception in the server
> public boolean testSortedMapArgument(SortedMap map);
> // fail -- puts data into a hashmap instead of a SortedMap
> public SortedMap testSortedMapResult();
> // fail -- puts data into a hashmap instead of a SortedMap
> public Map> 
> testDirectComplexTreeMapResult();
> {code}
> Implementation
> --
> {code:java}
> @Override
> public boolean testSortedMapArgument(SortedMap map) {
> final Class map_class = map.getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> return klasses.contains(SortedMap.class);
> }
> @Override
> public SortedMap testSortedMapResult() {
> final SortedMap result = new TreeMap Integer>();
> result.put(1, 3);
> result.put(0, 2);
> return result;
> }
> @Override
> public Map> 
> testDirectComplexTreeMapResult() {
> final Map> result = new 
> HashMap>();
> final TreeMap map1 = new TreeMap Integer>();
> map1.put(1, 3);
> map1.put(0, 2);
> result.put("key1", map1);
> return result;
> }
> {code}
> Test Client:
> 
> {code:java}
> @Test
> public void testSortedMapArgument() {
> final SortedMap map = new TreeMap Integer>();
> map.put(1, 3);
> map.put(0, 2);
> Assert.assertTrue(TestServiceFactory.getService()
> .testSortedMapArgument(map));
> }
> @Test
> public void testSortedMapResult() {
> final Class map_class = ((Object) TestServiceFactory.getService()
> .testDirectComplexTreeMapResult()).getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> Assert.assertTrue(klasses.contains(SortedMap.class));
> }
> @Test
> public void testDirectComplexTreeMapResult() {
> final Class map_class = ((Object) TestServiceFactory.getService()
> .testDirectComplexTreeMapResult().get("key1")).getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> Assert.assertTrue(klasses.contains(SortedMap.class));
> }
> {code}
> The result:
> ---
> In cases 2 and 3 I get a hashmap instead of a SortedMap. This is very 
> dangerous since it changes program semantics in a very subtle way.
> In case 1 I get an exception. Here is the server side part:
> {code}
> WARNING: Application 
> {http://iface/}TestInterface#{http://iface/}testSortedMapArgument has thrown 
> exception, unwinding now
> org.apache.cxf.interceptor.Fault: argument type mismatch while invoking 
> public abstract boolean 
> iface.TestInterface.testSortedMapArgument(java.util.SortedMap) with params 
> [{0=2, 1=3}].
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:166)
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:140)
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
> at 
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>

[jira] [Commented] (CXF-4534) SortedMap is returned as HashMap

2012-10-10 Thread Vassilis Virvilis (JIRA)

[ 
https://issues.apache.org/jira/browse/CXF-4534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13473050#comment-13473050
 ] 

Vassilis Virvilis commented on CXF-4534:


The fix is supposed to be applied at 2.6.3 but it still does not work for me. 
Tested with apache-cxf-2.6.3-20121005.080754-29.tar.gz in both server and 
client.

Hence I am reopening the bug...

If I shouldn't do this please let me know since I am not fully familiarized 
with CXF bug-etiquette.

Could you also please tell us what is the expected behaviour? Normal 
transmission of SortedMap or some kind of error / warning? Anyway I didn't get 
any errors warnings during deploy...


Thanks


> SortedMap is returned as HashMap
> 
>
> Key: CXF-4534
> URL: https://issues.apache.org/jira/browse/CXF-4534
> Project: CXF
>  Issue Type: Bug
>  Components: Aegis Databinding
>Affects Versions: 2.6.2
> Environment: debian wheezy/testing, unstable
>Reporter: Vassilis Virvilis
>Assignee: Daniel Kulp
> Fix For: 2.5.6, 2.6.3
>
>
> We have recently upgraded to 2.6.2 and revisit our test suite. Looks like all 
> bugs submitted by use have been fixed. Very impressive, thanks a lot.
> In our test suite there is a bug that has not been submitted in JIRA. A 
> discussion about that bug can be found at
> http://comments.gmane.org/gmane.comp.apache.cxf.user/12388
> I decided to submit this bug anyway for documentation purposes.
> The problem:
> 
> The problem is when the interface declares a SortedMap as an argument or as a 
> returned value. Here is the relevant snippets.
> Interface
> -
> {code:java}
> // fail -- throws exception in the server
> public boolean testSortedMapArgument(SortedMap map);
> // fail -- puts data into a hashmap instead of a SortedMap
> public SortedMap testSortedMapResult();
> // fail -- puts data into a hashmap instead of a SortedMap
> public Map> 
> testDirectComplexTreeMapResult();
> {code}
> Implementation
> --
> {code:java}
> @Override
> public boolean testSortedMapArgument(SortedMap map) {
> final Class map_class = map.getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> return klasses.contains(SortedMap.class);
> }
> @Override
> public SortedMap testSortedMapResult() {
> final SortedMap result = new TreeMap Integer>();
> result.put(1, 3);
> result.put(0, 2);
> return result;
> }
> @Override
> public Map> 
> testDirectComplexTreeMapResult() {
> final Map> result = new 
> HashMap>();
> final TreeMap map1 = new TreeMap Integer>();
> map1.put(1, 3);
> map1.put(0, 2);
> result.put("key1", map1);
> return result;
> }
> {code}
> Test Client:
> 
> {code:java}
> @Test
> public void testSortedMapArgument() {
> final SortedMap map = new TreeMap Integer>();
> map.put(1, 3);
> map.put(0, 2);
> Assert.assertTrue(TestServiceFactory.getService()
> .testSortedMapArgument(map));
> }
> @Test
> public void testSortedMapResult() {
> final Class map_class = ((Object) TestServiceFactory.getService()
> .testDirectComplexTreeMapResult()).getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> Assert.assertTrue(klasses.contains(SortedMap.class));
> }
> @Test
> public void testDirectComplexTreeMapResult() {
> final Class map_class = ((Object) TestServiceFactory.getService()
> .testDirectComplexTreeMapResult().get("key1")).getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> Assert.assertTrue(klasses.contains(SortedMap.class));
> }
> {code}
> The result:
> ---
> In cases 2 and 3 I get a hashmap instead of a SortedMap. This is very 
> dangerous since it changes program semantics in a very subtle way.
> In case 1 I get an exception. Here is the server side part:
> {code}
> WARNING: Application 
> {http://iface/}TestInterface#{http://iface/}testSortedMapArgument has thrown 
> exception, unwinding now
> org.apache.cxf.interceptor.Fault: argument type mismatch while invoking 
> public abstract boolean 
> iface.TestInterface.testSortedMapArgument(java.util.SortedMap) with params 
> [{0=2, 1=3}].
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:166)
> at 
> org.apache.cxf.servi

[jira] [Reopened] (CXF-4534) SortedMap is returned as HashMap

2012-10-10 Thread Vassilis Virvilis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CXF-4534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vassilis Virvilis reopened CXF-4534:



The fix is supposed to be applied at 2.6.3 but it still does not work for me. 
Tested with apache-cxf-2.6.3-20121005.080754-29.tar.gz in both server and 
client.

Hence I am reopening the bug...

If I shouldn't do this please let me know since I am not fully familiarized 
with CXF bug-etiquette.

Could you also please tell us what is the expected behaviour? Normal 
transmission of SortedMap or some kind of error / warning? Anyway I didn't get 
any errors warnings during deploy...

Thanks


> SortedMap is returned as HashMap
> 
>
> Key: CXF-4534
> URL: https://issues.apache.org/jira/browse/CXF-4534
> Project: CXF
>  Issue Type: Bug
>  Components: Aegis Databinding
>Affects Versions: 2.6.2
> Environment: debian wheezy/testing, unstable
>Reporter: Vassilis Virvilis
>Assignee: Daniel Kulp
> Fix For: 2.5.6, 2.6.3
>
>
> We have recently upgraded to 2.6.2 and revisit our test suite. Looks like all 
> bugs submitted by use have been fixed. Very impressive, thanks a lot.
> In our test suite there is a bug that has not been submitted in JIRA. A 
> discussion about that bug can be found at
> http://comments.gmane.org/gmane.comp.apache.cxf.user/12388
> I decided to submit this bug anyway for documentation purposes.
> The problem:
> 
> The problem is when the interface declares a SortedMap as an argument or as a 
> returned value. Here is the relevant snippets.
> Interface
> -
> {code:java}
> // fail -- throws exception in the server
> public boolean testSortedMapArgument(SortedMap map);
> // fail -- puts data into a hashmap instead of a SortedMap
> public SortedMap testSortedMapResult();
> // fail -- puts data into a hashmap instead of a SortedMap
> public Map> 
> testDirectComplexTreeMapResult();
> {code}
> Implementation
> --
> {code:java}
> @Override
> public boolean testSortedMapArgument(SortedMap map) {
> final Class map_class = map.getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> return klasses.contains(SortedMap.class);
> }
> @Override
> public SortedMap testSortedMapResult() {
> final SortedMap result = new TreeMap Integer>();
> result.put(1, 3);
> result.put(0, 2);
> return result;
> }
> @Override
> public Map> 
> testDirectComplexTreeMapResult() {
> final Map> result = new 
> HashMap>();
> final TreeMap map1 = new TreeMap Integer>();
> map1.put(1, 3);
> map1.put(0, 2);
> result.put("key1", map1);
> return result;
> }
> {code}
> Test Client:
> 
> {code:java}
> @Test
> public void testSortedMapArgument() {
> final SortedMap map = new TreeMap Integer>();
> map.put(1, 3);
> map.put(0, 2);
> Assert.assertTrue(TestServiceFactory.getService()
> .testSortedMapArgument(map));
> }
> @Test
> public void testSortedMapResult() {
> final Class map_class = ((Object) TestServiceFactory.getService()
> .testDirectComplexTreeMapResult()).getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> Assert.assertTrue(klasses.contains(SortedMap.class));
> }
> @Test
> public void testDirectComplexTreeMapResult() {
> final Class map_class = ((Object) TestServiceFactory.getService()
> .testDirectComplexTreeMapResult().get("key1")).getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> Assert.assertTrue(klasses.contains(SortedMap.class));
> }
> {code}
> The result:
> ---
> In cases 2 and 3 I get a hashmap instead of a SortedMap. This is very 
> dangerous since it changes program semantics in a very subtle way.
> In case 1 I get an exception. Here is the server side part:
> {code}
> WARNING: Application 
> {http://iface/}TestInterface#{http://iface/}testSortedMapArgument has thrown 
> exception, unwinding now
> org.apache.cxf.interceptor.Fault: argument type mismatch while invoking 
> public abstract boolean 
> iface.TestInterface.testSortedMapArgument(java.util.SortedMap) with params 
> [{0=2, 1=3}].
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:166)
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:

[jira] [Updated] (CXF-4534) SortedMap is returned as HashMap

2012-10-12 Thread Vassilis Virvilis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CXF-4534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vassilis Virvilis updated CXF-4534:
---

Affects Version/s: 2.7.0

> SortedMap is returned as HashMap
> 
>
> Key: CXF-4534
> URL: https://issues.apache.org/jira/browse/CXF-4534
> Project: CXF
>  Issue Type: Bug
>  Components: Aegis Databinding
>Affects Versions: 2.6.2, 2.7.0
> Environment: debian wheezy/testing, unstable
>Reporter: Vassilis Virvilis
>Assignee: Daniel Kulp
>
> We have recently upgraded to 2.6.2 and revisit our test suite. Looks like all 
> bugs submitted by use have been fixed. Very impressive, thanks a lot.
> In our test suite there is a bug that has not been submitted in JIRA. A 
> discussion about that bug can be found at
> http://comments.gmane.org/gmane.comp.apache.cxf.user/12388
> I decided to submit this bug anyway for documentation purposes.
> The problem:
> 
> The problem is when the interface declares a SortedMap as an argument or as a 
> returned value. Here is the relevant snippets.
> Interface
> -
> {code:java}
> // fail -- throws exception in the server
> public boolean testSortedMapArgument(SortedMap map);
> // fail -- puts data into a hashmap instead of a SortedMap
> public SortedMap testSortedMapResult();
> // fail -- puts data into a hashmap instead of a SortedMap
> public Map> 
> testDirectComplexTreeMapResult();
> {code}
> Implementation
> --
> {code:java}
> @Override
> public boolean testSortedMapArgument(SortedMap map) {
> final Class map_class = map.getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> return klasses.contains(SortedMap.class);
> }
> @Override
> public SortedMap testSortedMapResult() {
> final SortedMap result = new TreeMap Integer>();
> result.put(1, 3);
> result.put(0, 2);
> return result;
> }
> @Override
> public Map> 
> testDirectComplexTreeMapResult() {
> final Map> result = new 
> HashMap>();
> final TreeMap map1 = new TreeMap Integer>();
> map1.put(1, 3);
> map1.put(0, 2);
> result.put("key1", map1);
> return result;
> }
> {code}
> Test Client:
> 
> {code:java}
> @Test
> public void testSortedMapArgument() {
> final SortedMap map = new TreeMap Integer>();
> map.put(1, 3);
> map.put(0, 2);
> Assert.assertTrue(TestServiceFactory.getService()
> .testSortedMapArgument(map));
> }
> @Test
> public void testSortedMapResult() {
> final Class map_class = ((Object) TestServiceFactory.getService()
> .testDirectComplexTreeMapResult()).getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> Assert.assertTrue(klasses.contains(SortedMap.class));
> }
> @Test
> public void testDirectComplexTreeMapResult() {
> final Class map_class = ((Object) TestServiceFactory.getService()
> .testDirectComplexTreeMapResult().get("key1")).getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> Assert.assertTrue(klasses.contains(SortedMap.class));
> }
> {code}
> The result:
> ---
> In cases 2 and 3 I get a hashmap instead of a SortedMap. This is very 
> dangerous since it changes program semantics in a very subtle way.
> In case 1 I get an exception. Here is the server side part:
> {code}
> WARNING: Application 
> {http://iface/}TestInterface#{http://iface/}testSortedMapArgument has thrown 
> exception, unwinding now
> org.apache.cxf.interceptor.Fault: argument type mismatch while invoking 
> public abstract boolean 
> iface.TestInterface.testSortedMapArgument(java.util.SortedMap) with params 
> [{0=2, 1=3}].
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:166)
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:140)
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
> at 
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> at 
> org.apache.cxf.workqueue.SynchronousExecutor.ex

[jira] [Commented] (CXF-4534) SortedMap is returned as HashMap

2012-10-12 Thread Vassilis Virvilis (JIRA)

[ 
https://issues.apache.org/jira/browse/CXF-4534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13474877#comment-13474877
 ] 

Vassilis Virvilis commented on CXF-4534:


I also tested it with 2.7.0

> SortedMap is returned as HashMap
> 
>
> Key: CXF-4534
> URL: https://issues.apache.org/jira/browse/CXF-4534
> Project: CXF
>  Issue Type: Bug
>  Components: Aegis Databinding
>Affects Versions: 2.6.2, 2.7.0
> Environment: debian wheezy/testing, unstable
>Reporter: Vassilis Virvilis
>Assignee: Daniel Kulp
>
> We have recently upgraded to 2.6.2 and revisit our test suite. Looks like all 
> bugs submitted by use have been fixed. Very impressive, thanks a lot.
> In our test suite there is a bug that has not been submitted in JIRA. A 
> discussion about that bug can be found at
> http://comments.gmane.org/gmane.comp.apache.cxf.user/12388
> I decided to submit this bug anyway for documentation purposes.
> The problem:
> 
> The problem is when the interface declares a SortedMap as an argument or as a 
> returned value. Here is the relevant snippets.
> Interface
> -
> {code:java}
> // fail -- throws exception in the server
> public boolean testSortedMapArgument(SortedMap map);
> // fail -- puts data into a hashmap instead of a SortedMap
> public SortedMap testSortedMapResult();
> // fail -- puts data into a hashmap instead of a SortedMap
> public Map> 
> testDirectComplexTreeMapResult();
> {code}
> Implementation
> --
> {code:java}
> @Override
> public boolean testSortedMapArgument(SortedMap map) {
> final Class map_class = map.getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> return klasses.contains(SortedMap.class);
> }
> @Override
> public SortedMap testSortedMapResult() {
> final SortedMap result = new TreeMap Integer>();
> result.put(1, 3);
> result.put(0, 2);
> return result;
> }
> @Override
> public Map> 
> testDirectComplexTreeMapResult() {
> final Map> result = new 
> HashMap>();
> final TreeMap map1 = new TreeMap Integer>();
> map1.put(1, 3);
> map1.put(0, 2);
> result.put("key1", map1);
> return result;
> }
> {code}
> Test Client:
> 
> {code:java}
> @Test
> public void testSortedMapArgument() {
> final SortedMap map = new TreeMap Integer>();
> map.put(1, 3);
> map.put(0, 2);
> Assert.assertTrue(TestServiceFactory.getService()
> .testSortedMapArgument(map));
> }
> @Test
> public void testSortedMapResult() {
> final Class map_class = ((Object) TestServiceFactory.getService()
> .testDirectComplexTreeMapResult()).getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> Assert.assertTrue(klasses.contains(SortedMap.class));
> }
> @Test
> public void testDirectComplexTreeMapResult() {
> final Class map_class = ((Object) TestServiceFactory.getService()
> .testDirectComplexTreeMapResult().get("key1")).getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> Assert.assertTrue(klasses.contains(SortedMap.class));
> }
> {code}
> The result:
> ---
> In cases 2 and 3 I get a hashmap instead of a SortedMap. This is very 
> dangerous since it changes program semantics in a very subtle way.
> In case 1 I get an exception. Here is the server side part:
> {code}
> WARNING: Application 
> {http://iface/}TestInterface#{http://iface/}testSortedMapArgument has thrown 
> exception, unwinding now
> org.apache.cxf.interceptor.Fault: argument type mismatch while invoking 
> public abstract boolean 
> iface.TestInterface.testSortedMapArgument(java.util.SortedMap) with params 
> [{0=2, 1=3}].
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:166)
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:140)
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
> at 
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> at java.util.concurrent.FutureTask.run(FutureTask.java:

[jira] [Updated] (CXF-4534) SortedMap is returned as HashMap

2012-10-16 Thread Vassilis Virvilis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CXF-4534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vassilis Virvilis updated CXF-4534:
---

Attachment: ws-test-issue-4534.tgz

Sure why not? Here is the test case. I have not included necessary third party 
libraries. The project requires

cxf-libraries
log4j
commons-logging
junit

After that you do
  ant war
and the war will be created.

The TestClient will try to connect at localhost:8080 by default

Thanks


> SortedMap is returned as HashMap
> 
>
> Key: CXF-4534
> URL: https://issues.apache.org/jira/browse/CXF-4534
> Project: CXF
>  Issue Type: Bug
>  Components: Aegis Databinding
>Affects Versions: 2.6.2, 2.7.0
> Environment: debian wheezy/testing, unstable
>Reporter: Vassilis Virvilis
>Assignee: Daniel Kulp
> Attachments: ws-test-issue-4534.tgz
>
>
> We have recently upgraded to 2.6.2 and revisit our test suite. Looks like all 
> bugs submitted by use have been fixed. Very impressive, thanks a lot.
> In our test suite there is a bug that has not been submitted in JIRA. A 
> discussion about that bug can be found at
> http://comments.gmane.org/gmane.comp.apache.cxf.user/12388
> I decided to submit this bug anyway for documentation purposes.
> The problem:
> 
> The problem is when the interface declares a SortedMap as an argument or as a 
> returned value. Here is the relevant snippets.
> Interface
> -
> {code:java}
> // fail -- throws exception in the server
> public boolean testSortedMapArgument(SortedMap map);
> // fail -- puts data into a hashmap instead of a SortedMap
> public SortedMap testSortedMapResult();
> // fail -- puts data into a hashmap instead of a SortedMap
> public Map> 
> testDirectComplexTreeMapResult();
> {code}
> Implementation
> --
> {code:java}
> @Override
> public boolean testSortedMapArgument(SortedMap map) {
> final Class map_class = map.getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> return klasses.contains(SortedMap.class);
> }
> @Override
> public SortedMap testSortedMapResult() {
> final SortedMap result = new TreeMap Integer>();
> result.put(1, 3);
> result.put(0, 2);
> return result;
> }
> @Override
> public Map> 
> testDirectComplexTreeMapResult() {
> final Map> result = new 
> HashMap>();
> final TreeMap map1 = new TreeMap Integer>();
> map1.put(1, 3);
> map1.put(0, 2);
> result.put("key1", map1);
> return result;
> }
> {code}
> Test Client:
> 
> {code:java}
> @Test
> public void testSortedMapArgument() {
> final SortedMap map = new TreeMap Integer>();
> map.put(1, 3);
> map.put(0, 2);
> Assert.assertTrue(TestServiceFactory.getService()
> .testSortedMapArgument(map));
> }
> @Test
> public void testSortedMapResult() {
> final Class map_class = ((Object) TestServiceFactory.getService()
> .testDirectComplexTreeMapResult()).getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> Assert.assertTrue(klasses.contains(SortedMap.class));
> }
> @Test
> public void testDirectComplexTreeMapResult() {
> final Class map_class = ((Object) TestServiceFactory.getService()
> .testDirectComplexTreeMapResult().get("key1")).getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> Assert.assertTrue(klasses.contains(SortedMap.class));
> }
> {code}
> The result:
> ---
> In cases 2 and 3 I get a hashmap instead of a SortedMap. This is very 
> dangerous since it changes program semantics in a very subtle way.
> In case 1 I get an exception. Here is the server side part:
> {code}
> WARNING: Application 
> {http://iface/}TestInterface#{http://iface/}testSortedMapArgument has thrown 
> exception, unwinding now
> org.apache.cxf.interceptor.Fault: argument type mismatch while invoking 
> public abstract boolean 
> iface.TestInterface.testSortedMapArgument(java.util.SortedMap) with params 
> [{0=2, 1=3}].
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:166)
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:140)
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
> at 
> org.apache.cxf.interceptor.ServiceInv

[jira] [Commented] (CXF-4534) SortedMap is returned as HashMap

2012-10-26 Thread Vassilis Virvilis (JIRA)

[ 
https://issues.apache.org/jira/browse/CXF-4534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13484871#comment-13484871
 ] 

Vassilis Virvilis commented on CXF-4534:


Aah. I agree. I was fooled by my own tests.

I can confirm that the mini test case now works.

> SortedMap is returned as HashMap
> 
>
> Key: CXF-4534
> URL: https://issues.apache.org/jira/browse/CXF-4534
> Project: CXF
>  Issue Type: Bug
>  Components: Aegis Databinding
>Affects Versions: 2.6.2, 2.7.0
> Environment: debian wheezy/testing, unstable
>Reporter: Vassilis Virvilis
>Assignee: Daniel Kulp
> Fix For: 2.6.3, 2.7.0
>
> Attachments: ws-test-issue-4534.tgz
>
>
> We have recently upgraded to 2.6.2 and revisit our test suite. Looks like all 
> bugs submitted by use have been fixed. Very impressive, thanks a lot.
> In our test suite there is a bug that has not been submitted in JIRA. A 
> discussion about that bug can be found at
> http://comments.gmane.org/gmane.comp.apache.cxf.user/12388
> I decided to submit this bug anyway for documentation purposes.
> The problem:
> 
> The problem is when the interface declares a SortedMap as an argument or as a 
> returned value. Here is the relevant snippets.
> Interface
> -
> {code:java}
> // fail -- throws exception in the server
> public boolean testSortedMapArgument(SortedMap map);
> // fail -- puts data into a hashmap instead of a SortedMap
> public SortedMap testSortedMapResult();
> // fail -- puts data into a hashmap instead of a SortedMap
> public Map> 
> testDirectComplexTreeMapResult();
> {code}
> Implementation
> --
> {code:java}
> @Override
> public boolean testSortedMapArgument(SortedMap map) {
> final Class map_class = map.getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> return klasses.contains(SortedMap.class);
> }
> @Override
> public SortedMap testSortedMapResult() {
> final SortedMap result = new TreeMap Integer>();
> result.put(1, 3);
> result.put(0, 2);
> return result;
> }
> @Override
> public Map> 
> testDirectComplexTreeMapResult() {
> final Map> result = new 
> HashMap>();
> final TreeMap map1 = new TreeMap Integer>();
> map1.put(1, 3);
> map1.put(0, 2);
> result.put("key1", map1);
> return result;
> }
> {code}
> Test Client:
> 
> {code:java}
> @Test
> public void testSortedMapArgument() {
> final SortedMap map = new TreeMap Integer>();
> map.put(1, 3);
> map.put(0, 2);
> Assert.assertTrue(TestServiceFactory.getService()
> .testSortedMapArgument(map));
> }
> @Test
> public void testSortedMapResult() {
> final Class map_class = ((Object) TestServiceFactory.getService()
> .testDirectComplexTreeMapResult()).getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> Assert.assertTrue(klasses.contains(SortedMap.class));
> }
> @Test
> public void testDirectComplexTreeMapResult() {
> final Class map_class = ((Object) TestServiceFactory.getService()
> .testDirectComplexTreeMapResult().get("key1")).getClass();
> final Collection klasses = 
> Arrays.asList(map_class.getClasses());
> log.info(String.format("Classes of %s are %s", map_class, klasses));
> Assert.assertTrue(klasses.contains(SortedMap.class));
> }
> {code}
> The result:
> ---
> In cases 2 and 3 I get a hashmap instead of a SortedMap. This is very 
> dangerous since it changes program semantics in a very subtle way.
> In case 1 I get an exception. Here is the server side part:
> {code}
> WARNING: Application 
> {http://iface/}TestInterface#{http://iface/}testSortedMapArgument has thrown 
> exception, unwinding now
> org.apache.cxf.interceptor.Fault: argument type mismatch while invoking 
> public abstract boolean 
> iface.TestInterface.testSortedMapArgument(java.util.SortedMap) with params 
> [{0=2, 1=3}].
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:166)
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:140)
> at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
> at 
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.jav

[jira] [Created] (CXF-4605) SortedMap is not returned when another unrelated method exists in the interface

2012-10-26 Thread Vassilis Virvilis (JIRA)
Vassilis Virvilis created CXF-4605:
--

 Summary: 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


 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> testDirectComplexMapResult();

// fail -- puts data into a hashmap instead of a SortedMap if the above is 
uncommented
public Map> 
testDirectComplexTreeMapResult();

Implementation:
//@Override
public Map> testDirectComplexMapResult() {
final Map> result = new HashMap>();
final TreeMap map1 = new TreeMap();
map1.put(1, 3);
result.put("key1", map1);
return result;
}

@Override
public Map> 
testDirectComplexTreeMapResult() {
final Map> result = new 
HashMap>();
final TreeMap map1 = new TreeMap();
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


[jira] [Updated] (CXF-4605) SortedMap is not returned when another unrelated method exists in the interface

2012-10-26 Thread Vassilis Virvilis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CXF-4605?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vassilis Virvilis updated CXF-4605:
---

Attachment: ws-test-issue-4605.tgz

The attached project demonstrates the problem if you uncomment the other method 
in the interface

> 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
> 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> testDirectComplexMapResult();
> // fail -- puts data into a hashmap instead of a SortedMap if the above 
> is uncommented
> public Map> 
> testDirectComplexTreeMapResult();
> Implementation:
> //@Override
> public Map> testDirectComplexMapResult() {
> final Map> result = new HashMap Map>();
> final TreeMap map1 = new TreeMap Integer>();
> map1.put(1, 3);
> result.put("key1", map1);
> return result;
> }
> @Override
> public Map> 
> testDirectComplexTreeMapResult() {
> final Map> result = new 
> HashMap>();
> final TreeMap map1 = new TreeMap 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


[jira] [Commented] (CXF-4605) SortedMap is not returned when another unrelated method exists in the interface

2012-11-05 Thread Vassilis Virvilis (JIRA)

[ 
https://issues.apache.org/jira/browse/CXF-4605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13490540#comment-13490540
 ] 

Vassilis Virvilis commented on CXF-4605:


Daniel,

Thanks again for the quick fix.

I can see that there is a apache-cxf-2.7.1-20121105.071034-21.tar.gz 
pre-release and the patch is 2 of November so I will try to test it later 
today...

One question: These schema changes you mentioned what implications do they have 
for older versions? For example what happens if I mix 2.7.1 server with 2.6.x 
clients. In that case I don't mind about SortedMap but I do care about plain 
maps behavior...

  Vassilis

> 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> testDirectComplexMapResult();
> // fail -- puts data into a hashmap instead of a SortedMap if the above 
> is uncommented
> public Map> 
> testDirectComplexTreeMapResult();
> Implementation:
> //@Override
> public Map> testDirectComplexMapResult() {
> final Map> result = new HashMap Map>();
> final TreeMap map1 = new TreeMap Integer>();
> map1.put(1, 3);
> result.put("key1", map1);
> return result;
> }
> @Override
> public Map> 
> testDirectComplexTreeMapResult() {
> final Map> result = new 
> HashMap>();
> final TreeMap map1 = new TreeMap 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


[jira] [Reopened] (CXF-4605) SortedMap is not returned when another unrelated method exists in the interface

2012-11-08 Thread Vassilis Virvilis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CXF-4605?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vassilis Virvilis reopened CXF-4605:



Thanks a bunch as usual,

I tested it with 2.7.1 snapshot 20121107 and it passes the provided test. 
However it still fails our internal test-suite. The only reason I bringing it 
up here and not another bug is that the one failure is a regression. If you 
want me to open it as new issue please tell me so.

So the purpose of the tests is to test inheritance of complex maps. So here are 
the objects we are trying pass through...

public class ComplexMapResult extends
HashMap> {
}


 public class ComplexTreeMapResult extends
HashMap> {
}


The interface is 
// fail returns null map value in cxf-2.3.3
// works in cxf-2.6.2
// fails with exceptions in 2.7.1
public ComplexMapResult testComplexMapResult();

// this was always failing...
public ComplexTreeMapResult testComplexTreeMapResult();

The server side code (implementation) is

@Override
public ComplexMapResult testComplexMapResult() {
final ComplexMapResult result = new ComplexMapResult();
final Map map1 = new HashMap();
map1.put(1, 3);
result.put("key1", map1);
return result;
}

@Override
public ComplexTreeMapResult testComplexTreeMapResult() {
final ComplexTreeMapResult result = new ComplexTreeMapResult();
final TreeMap map1 = new TreeMap();
map1.put(1, 3);
map1.put(0, 2);
result.put("key1", map1);
return result;
}

The client side code is:

@Test
public void testComplexMapResult() {
log.info(TestServiceFactory.getService().testComplexMapResult());
}

@Test
public void testComplexTreeMapResult() {
final Map map = TestServiceFactory.getService()
.testComplexTreeMapResult();
log.info(map);
for (final Object vmap : map.values()) {
Assert.assertTrue(vmap instanceof SortedMap);
}
}

I will update the test case...

   Vassilis

> 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> testDirectComplexMapResult();
> // fail -- puts data into a hashmap instead of a SortedMap if the above 
> is uncommented
> public Map> 
> testDirectComplexTreeMapResult();
> Implementation:
> //@Override
> public Map> testDirectComplexMapResult() {
> final Map> result = new HashMap Map>();
> final TreeMap map1 = new TreeMap Integer>();
> map1.put(1, 3);
> result.put("key1", map1);
> return result;
> }
> @Override
> public Map> 
> testDirectComplexTreeMapResult() {
> final Map> result = new 
> HashMap>();
> final TreeMap map1 = new TreeMap 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


[jira] [Commented] (CXF-4605) SortedMap is not returned when another unrelated method exists in the interface

2012-11-08 Thread Vassilis Virvilis (JIRA)

[ 
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(XM

[jira] [Updated] (CXF-4605) SortedMap is not returned when another unrelated method exists in the interface

2012-11-08 Thread Vassilis Virvilis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CXF-4605?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vassilis Virvilis updated CXF-4605:
---

Attachment: ws-test-issue-4605.tgz

I cannot reproduce the exceptions with these test cases but the results are 
still wrong. It returns null instead of the value map.

   Vassilis

> 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, 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> testDirectComplexMapResult();
> // fail -- puts data into a hashmap instead of a SortedMap if the above 
> is uncommented
> public Map> 
> testDirectComplexTreeMapResult();
> Implementation:
> //@Override
> public Map> testDirectComplexMapResult() {
> final Map> result = new HashMap Map>();
> final TreeMap map1 = new TreeMap Integer>();
> map1.put(1, 3);
> result.put("key1", map1);
> return result;
> }
> @Override
> public Map> 
> testDirectComplexTreeMapResult() {
> final Map> result = new 
> HashMap>();
> final TreeMap map1 = new TreeMap 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


[jira] [Comment Edited] (CXF-4605) SortedMap is not returned when another unrelated method exists in the interface

2012-11-08 Thread Vassilis Virvilis (JIRA)

[ 
https://issues.apache.org/jira/browse/CXF-4605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13493203#comment-13493203
 ] 

Vassilis Virvilis edited comment on CXF-4605 at 11/8/12 2:19 PM:
-

I cannot reproduce the exceptions with the update test case I attached but the 
results are still wrong. It returns null instead of the value map. Hope that 
helps

   Vassilis

  was (Author: vasvir):
I cannot reproduce the exceptions with these test cases but the results are 
still wrong. It returns null instead of the value map.

   Vassilis
  
> 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, 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> testDirectComplexMapResult();
> // fail -- puts data into a hashmap instead of a SortedMap if the above 
> is uncommented
> public Map> 
> testDirectComplexTreeMapResult();
> Implementation:
> //@Override
> public Map> testDirectComplexMapResult() {
> final Map> result = new HashMap Map>();
> final TreeMap map1 = new TreeMap Integer>();
> map1.put(1, 3);
> result.put("key1", map1);
> return result;
> }
> @Override
> public Map> 
> testDirectComplexTreeMapResult() {
> final Map> result = new 
> HashMap>();
> final TreeMap map1 = new TreeMap 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


[jira] [Commented] (CXF-4605) SortedMap is not returned when another unrelated method exists in the interface

2012-11-13 Thread Vassilis Virvilis (JIRA)

[ 
https://issues.apache.org/jira/browse/CXF-4605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13496058#comment-13496058
 ] 

Vassilis Virvilis commented on CXF-4605:


Daniel,

Thanks a lot for your work on this. For sure I will test and report.

I understand the "No this is not supported" answer. What I am saying and have 
said in other bug reports and in the mailing is that Aegis can:

1) work ok (as you are trying to do)
2) complain (even at run time, better in deploy time) that this is not supported
3) fail silently by corrupting data (returning HashMap instead of SortedMap) or 
by returning null

What I am saying behavior #3 must be treated as a bug. Behavior #1, #2 are 
acceptable.

   Vassilis



> 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, 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> testDirectComplexMapResult();
> // fail -- puts data into a hashmap instead of a SortedMap if the above 
> is uncommented
> public Map> 
> testDirectComplexTreeMapResult();
> Implementation:
> //@Override
> public Map> testDirectComplexMapResult() {
> final Map> result = new HashMap Map>();
> final TreeMap map1 = new TreeMap Integer>();
> map1.put(1, 3);
> result.put("key1", map1);
> return result;
> }
> @Override
> public Map> 
> testDirectComplexTreeMapResult() {
> final Map> result = new 
> HashMap>();
> final TreeMap map1 = new TreeMap 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


[jira] [Commented] (CXF-4605) SortedMap is not returned when another unrelated method exists in the interface

2012-12-05 Thread Vassilis Virvilis (JIRA)

[ 
https://issues.apache.org/jira/browse/CXF-4605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13510473#comment-13510473
 ] 

Vassilis Virvilis commented on CXF-4605:


Hi there,

I finally find the time to test with the 
apache-cxf-2.7.1-20121204.070440-41.tar.gz. All our internal tests are passing 
now...

Thank you so much...

Vassilis Virvilis

> 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, 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> testDirectComplexMapResult();
> // fail -- puts data into a hashmap instead of a SortedMap if the above 
> is uncommented
> public Map> 
> testDirectComplexTreeMapResult();
> Implementation:
> //@Override
> public Map> testDirectComplexMapResult() {
> final Map> result = new HashMap Map>();
> final TreeMap map1 = new TreeMap Integer>();
> map1.put(1, 3);
> result.put("key1", map1);
> return result;
> }
> @Override
> public Map> 
> testDirectComplexTreeMapResult() {
> final Map> result = new 
> HashMap>();
> final TreeMap map1 = new TreeMap 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


[jira] [Commented] (CXF-7836) Stax2 version conflict

2018-09-13 Thread Vassilis Virvilis (JIRA)


[ 
https://issues.apache.org/jira/browse/CXF-7836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16613378#comment-16613378
 ] 

Vassilis Virvilis commented on CXF-7836:


I am getting the same error as the parent but in my case I don't have 
cxf-rt-ws-policy in my dependencies and certainly not neethi.

I depend however cxf-rt-ws-security but I can't tell why woodstox-core-asl-4.1 
is getting included.

I have manually prevent the woodstox-core-asl-4.1 and both server and clients 
are working for me so far.

In my mind the correct fix is not to prevent upgrade but to figure out why 
these two modules (cxf-rt-ws-policy and cxf-rt-ws-security) require the older 
woodstox jar

Thanks

> Stax2 version conflict
> --
>
> Key: CXF-7836
> URL: https://issues.apache.org/jira/browse/CXF-7836
> Project: CXF
>  Issue Type: Bug
>  Components: Core
>Affects Versions: 3.2.6
>Reporter: Michal Sabo
>Assignee: Colm O hEigeartaigh
>Priority: Major
> Fix For: 3.2.7
>
>
> There is a version conflict in transitive dependencies of cxf regarding the 
> stax2 api.
> cxf-rt-ws-policy uses the org.apache.neethi library, which is dependant on a 
> version *3.1.1* of stax2 api, however cxf-core and its dependency 
> com.fasterxml.woodstox uses a version *4.1* of stax2 api. Unfortunately, 
> these versions are not compatible - java.lang.NoSuchMethodError: 
> org.codehaus.stax2.ri.EmptyIterator.getInstance()Lorg/codehaus/stax2/ri/EmptyIterator;
> Dependency resolution and the conflicting part on the last line.
> {code:java}
> +--- org.apache.cxf:cxf-rt-frontend-jaxws:3.2.6
> | +--- xml-resolver:xml-resolver:1.2
> | +--- org.ow2.asm:asm:5.2
> | +--- org.apache.cxf:cxf-core:3.2.6 (*)
> | +--- org.apache.cxf:cxf-rt-bindings-soap:3.2.6
> | | +--- org.apache.cxf:cxf-core:3.2.6 (*)
> | | +--- org.apache.cxf:cxf-rt-wsdl:3.2.6
> | | | +--- org.apache.cxf:cxf-core:3.2.6 (*)
> | | | +--- wsdl4j:wsdl4j:1.6.3
> | | | \--- org.ow2.asm:asm:5.2
> | | \--- org.apache.cxf:cxf-rt-databinding-jaxb:3.2.6
> | | +--- org.apache.cxf:cxf-core:3.2.6 (*)
> | | \--- org.apache.cxf:cxf-rt-wsdl:3.2.6 (*)
> | +--- org.apache.cxf:cxf-rt-bindings-xml:3.2.6
> | | \--- org.apache.cxf:cxf-core:3.2.6 (*)
> | +--- org.apache.cxf:cxf-rt-frontend-simple:3.2.6
> | | +--- org.apache.cxf:cxf-core:3.2.6 (*)
> | | +--- org.apache.cxf:cxf-rt-bindings-soap:3.2.6 (*)
> | | \--- org.apache.cxf:cxf-rt-wsdl:3.2.6 (*)
> | \--- org.apache.cxf:cxf-rt-ws-addr:3.2.6
> | +--- org.apache.cxf:cxf-core:3.2.6 (*)
> | +--- org.apache.cxf:cxf-rt-bindings-soap:3.2.6 (*)
> | \--- org.apache.cxf:cxf-rt-ws-policy:3.2.6
> | +--- wsdl4j:wsdl4j:1.6.3
> | +--- org.apache.cxf:cxf-core:3.2.6 (*)
> | \--- org.apache.neethi:neethi:3.1.1
> | \--- org.codehaus.woodstox:woodstox-core-asl:4.4.1
> | +--- javax.xml.stream:stax-api:1.0-2
> | \--- org.codehaus.woodstox:stax2-api:3.1.4 -> 4.1
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] Created: (CXF-1758) javascript client generation barfs at generic types

2008-08-20 Thread Vassilis Virvilis (JIRA)
javascript client generation barfs at generic types
---

 Key: CXF-1758
 URL: https://issues.apache.org/jira/browse/CXF-1758
 Project: CXF
  Issue Type: Bug
  Components: JavaScript Client
Affects Versions: 2.1.2
 Environment: linux debian stable (etch) tomcat 5.5.20-2etch3
Reporter: Vassilis Virvilis


I managed to get a javascript client example working but it barfs in some cases.

All my server classes are pojos and I am using the simple frontend (I think) 
with Aegis. I am very pleased with java2java communication since I can pass 
complex types with no annotations at all.

The problematic cases are of the form. (All other cases are working with js 
client)

public interface Service {
public int open(P args);

public void close(int handle);

public int getValue(int handle);
}

My guess is it barfs in the generic P type argument.

When I am trying to do http://localhost/ws/SomeService?js tomcat produces an 
error

Aug 20, 2008 7:14:43 AM org.apache.cxf.transport.servlet.ServletController 
invoke
WARNING: org.apache.cxf.javascript.JavascriptQueryHandler Exception caught 
writing response.
java.lang.ClassCastException: org.apache.ws.commons.schema.XmlSchemaType cannot 
be cast to org.apache.ws.commons.schema.XmlSchemaComplexType
at 
org.apache.cxf.javascript.types.SchemaJavascriptBuilder.deserializeElement(SchemaJavascriptBuilder.java:610)
at 
org.apache.cxf.javascript.types.SchemaJavascriptBuilder.domDeserializerFunction(SchemaJavascriptBuilder.java:413)
at 
org.apache.cxf.javascript.types.SchemaJavascriptBuilder.generateCodeForSchema(SchemaJavascriptBuilder.java:102)
at 
org.apache.cxf.javascript.JavascriptQueryHandler.writeResponse(JavascriptQueryHandler.java:135)
at 
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:152)
at 
org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:174)
at 
org.apache.cxf.transport.servlet.AbstractCXFServlet.doGet(AbstractCXFServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at 
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at 
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
at 
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:262)
at 
org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterChain.java:192)
at 
org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:171)
at java.security.AccessController.doPrivileged(Native Method)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at 
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at 
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (CXF-1758) javascript client generation barfs at generic types

2008-08-25 Thread Vassilis Virvilis (JIRA)

[ 
https://issues.apache.org/jira/browse/CXF-1758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12625371#action_12625371
 ] 

Vassilis Virvilis commented on CXF-1758:


ok

the interface is

--
package com.biovista.ws.iface;

public interface TestService {
public int open(P args);

public void close(int handle);

public int getValue(int handle);
}
--
The implementation is
--
package com.biovista.ws.impl;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class TestService implements com.biovista.ws.iface.TestService {
private Log log = LogFactory.getLog(getClass());

public void close(int handle) {
}

public int getValue(int handle) {
return 2;
}

public int open(P args) {
log.info("args = " + args + " class = " + args.getClass());
return 0;
}
}
--

it crashes with the same error in tomcat logs when I am requesting
the javascript client (?js instead of ?wsdl)

Vassilis


> javascript client generation barfs at generic types
> ---
>
> Key: CXF-1758
> URL: https://issues.apache.org/jira/browse/CXF-1758
> Project: CXF
>  Issue Type: Bug
>  Components: JavaScript Client
>Affects Versions: 2.1.2
> Environment: linux debian stable (etch) tomcat 5.5.20-2etch3
>Reporter: Vassilis Virvilis
>Assignee: Benson Margulies
>
> I managed to get a javascript client example working but it barfs in some 
> cases.
> All my server classes are pojos and I am using the simple frontend (I think) 
> with Aegis. I am very pleased with java2java communication since I can pass 
> complex types with no annotations at all.
> The problematic cases are of the form. (All other cases are working with js 
> client)
> public interface Service {
> public int open(P args);
> public void close(int handle);
> public int getValue(int handle);
> }
> My guess is it barfs in the generic P type argument.
> When I am trying to do http://localhost/ws/SomeService?js tomcat produces an 
> error
> Aug 20, 2008 7:14:43 AM org.apache.cxf.transport.servlet.ServletController 
> invoke
> WARNING: org.apache.cxf.javascript.JavascriptQueryHandler Exception caught 
> writing response.
> java.lang.ClassCastException: org.apache.ws.commons.schema.XmlSchemaType 
> cannot be cast to org.apache.ws.commons.schema.XmlSchemaComplexType
> at 
> org.apache.cxf.javascript.types.SchemaJavascriptBuilder.deserializeElement(SchemaJavascriptBuilder.java:610)
> at 
> org.apache.cxf.javascript.types.SchemaJavascriptBuilder.domDeserializerFunction(SchemaJavascriptBuilder.java:413)
> at 
> org.apache.cxf.javascript.types.SchemaJavascriptBuilder.generateCodeForSchema(SchemaJavascriptBuilder.java:102)
> at 
> org.apache.cxf.javascript.JavascriptQueryHandler.writeResponse(JavascriptQueryHandler.java:135)
> at 
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:152)
> at 
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:174)
> at 
> org.apache.cxf.transport.servlet.AbstractCXFServlet.doGet(AbstractCXFServlet.java:156)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at 
> org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
> at 
> org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
> at 
> org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
> at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:262)
> at 
> org.apache.catalina.core.ApplicationFilterChain.access$0(ApplicationFilterChain.java:192)
> at 
> org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:171)
> at java.security.AccessController.doPrivileged(Native Method)
> at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167)
> at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at 
> org.apache.catalina.core.StandardCo