Currently, the following is needed to specify type information for a collection:
<mappings xmlns="urn:xfire:aegis:200504"
xmlns:bean="urn:xfire:bean">
<mapping uri="urn:xfire:bean">
<collection property="beans"
name="bean:Beans"
componentType="org.codehaus.xfire.aegis.type.basic.SimpleBean"/>
</mapping>
</mappings>
While this specifies a correct set of values, it's very un-userfriendly. The goal of apps like xfire is 'soap for dummies' in a way, so much of the soap specifics should be squirreled away and not mandated. So the above snippet should be specifiable as the following:
<mappings>
<mapping>
<collection property="beans"
componentType="org.codehaus.xfire.aegis.type.basic.SimpleBean"/>
</mapping>
</mappings>
No uri stuff is needed, that can deduced by the mapping handler since it's known what service a mapping file is bound to. Similarly, there's no need to mandate a name for the collection since it can default to serviceName:propertyName
I don't know the API side of this, but the same rules should apply there, where the user is expected to do as little as possible to get things going, ideally only information specific to his domain, rather than general soap stuff.
<mappings xmlns="urn:xfire:aegis:200504">
<mapping>
<collection property="beans"
componentType="org.codehaus.xfire.aegis.type.basic.SimpleBean"/>
</mapping>
</mappings>