In case anyone is interested, the fix for this is, do not re-use Aegis
databinding beans. The CXF docs already point out that
JaxWsServiceFactoryBean musn't be re-used, similarly, neither must
org.apache.cxf.aegis.databinding.AegisDatabinding.

Corrected spring config:

<bean id="aegisBean"
          class="org.apache.cxf.aegis.databinding.AegisDatabinding"
          scope="prototype">
        <property name="configuration">
            <bean class="org.apache.cxf.aegis.type.TypeCreationOptions">
                <property name="defaultMinOccurs" value="1"/>
                <property name="defaultNillable" value="false"/>
            </bean>
        </property>
    </bean>

<bean id="jaxws-and-aegis-service-factory"
          class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
          scope="prototype">
        <property name="dataBinding" ref="aegisBean"/>
        <property name="serviceConfigurations">
            <list>
                <bean
class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration"/>
                <bean
class="org.apache.cxf.aegis.databinding.AegisServiceConfiguration"/>
                <bean
class="org.apache.cxf.service.factory.DefaultServiceConfiguration"/>
            </list>
        </property>
    </bean>

Note
 scope="prototype"
on 'aegisBean', as well as on 'jaxws-and-aegis-service-factory'. The factory
bean may then be ref'd by multiple services safely.


-- 
View this message in context: 
http://www.nabble.com/CXF-Aegis-binding-problem--string2string-Map-tp21126473p21201879.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to