I think this bug is related to:
XFIRE-583 and maybe
XFIRE-670
I have a map that consists of a concrete implementations (apples, oranges) with a common abstract superclass (fruit), The component type of the map is the common abstract superclass (fruit). When these are exported they are not exportet propery since they are exported as the abstract super class(fruit), and thus can not be generated at the other side.
Following XFIRE-583 it is really easy to fix this bug, you just do the same as you did for collections.
In MapType: writeObject
When you iterate througth the elements in the Map check the type of the objects instead of assuming it is the same as the type:
valueType = AegisBindingProvider.getWriteType(context, entry.getValue(), valueType);
Do this before you write to this value type
I really hope it is possible to get this fix into an official build. This is a critical bug for us, I do understand that I migth write a bit too complex web services, but I think this would also fix XFIRE-670 and I am sure somone else will find this a proplem at some point.
XFIRE-670, which fixes this as well. It should be included in the soon to be released 1.2.2. Thanks.