Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set Jaxb2Marshaller list of XmlAdapters in Spring bean through XML?

I'm trying to define a Jaxb2Marshaller bean in Spring-WS to use a custom adapter that extends XmlAdapter. I have the following in an XML file:

<bean id="jaxb2Marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
    <property name="classesToBeBound">
        <list>
            <!-- various classes to be bound... -->
        </list>
    </property>
    <property name="schema" value="myschema.xsd" />
    <property name="adapters">
        <list>
            <value>com.lmig.am.claims.clip.ContactAdapter</value>
        </list>
    </property>
</bean>

However, I'm getting the following error:

Cannot convert value of type [java.lang.String] to required type [javax.xml.bind.annotation.adapters.XmlAdapter] for property 'adapters[0]': no matching editors or conversion strategy found

Any ideas what I'm doing wrong? Thanks!

like image 967
holic87 Avatar asked Oct 11 '11 00:10

holic87


1 Answers

The adapters property is expecting an array of XMLAdapter objects not Classes. So the correct configuration is as follows.

<property name="adapters">
   <list>
         <bean class="com.lmig.am.claims.clip.ContactAdapter"/>
   </list>
</property>
like image 63
gkamal Avatar answered Oct 30 '22 16:10

gkamal