
|
If you were logged in you would be able to see more operations.
|
|
|
|
Environment:
|
OSX 10.4.7
Eclipse 3.2.0
Jetty-6.0.0
OSX 10.4.7
Eclipse 3.2.0
Jetty-6.0.0
|
|
Collection generics which work in 1.2 no longer work in 1.2.1 when generating the wsdl. This can be replicated by annotating a service that has a @WebMethod that returns Collection<SomeObject> or annotating a bean (parameter or return type) that contains an attribute that is Collection<SomeObject>.
After some debugging (we are new to the xfire source) we believe we have traced the problem to changes in the org.codehaus.xfire.aegis.type.XMLTypeCreator. When entering the createCollectionTypeMethod(TypeClassInfo), the TypeClassInfo contains a genericType which is an instance of ParameterizedTypeImpl. In 1585, it is compared against Class, which is false, and moves on to the nextCreator. In our case nextCreator is a Java5TypeCreator. In the labeled version for 1.2.1 (1891), the info.getGenericType is passed into AbstractTypeCreator.createCollectionTypeFromGeneric(TypeClassInfo), which returns null since it is not aware of the ParameterizedTypeImpl. This causes the type to be returned as null and not move on to the child TypeCreator.
|
|
Description
|
Collection generics which work in 1.2 no longer work in 1.2.1 when generating the wsdl. This can be replicated by annotating a service that has a @WebMethod that returns Collection<SomeObject> or annotating a bean (parameter or return type) that contains an attribute that is Collection<SomeObject>.
After some debugging (we are new to the xfire source) we believe we have traced the problem to changes in the org.codehaus.xfire.aegis.type.XMLTypeCreator. When entering the createCollectionTypeMethod(TypeClassInfo), the TypeClassInfo contains a genericType which is an instance of ParameterizedTypeImpl. In 1585, it is compared against Class, which is false, and moves on to the nextCreator. In our case nextCreator is a Java5TypeCreator. In the labeled version for 1.2.1 (1891), the info.getGenericType is passed into AbstractTypeCreator.createCollectionTypeFromGeneric(TypeClassInfo), which returns null since it is not aware of the ParameterizedTypeImpl. This causes the type to be returned as null and not move on to the child TypeCreator. |
Show » |
|
http://snapshots.repository.codehaus.org/org/codehaus/xfire/xfire-all/1.2-SNAPSHOT/xfire-all-1.2-20060929.210820-24.jar
We'll be doing 1.2.2 late this weekend. Thanks!