2011-10-11 7 views
6

Estoy tratando de definir un bean Jaxb2Marshaller en Spring-WS para usar un adaptador personalizado que se extienda a XmlAdapter. Tengo el siguiente en un archivo XML:¿Cómo establecer la lista Jaxb2Marshaller de XmlAdapters en Spring bean a través de XML?

<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> 

Sin embargo, estoy recibiendo el siguiente 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

Alguna idea de lo que estoy haciendo mal? ¡Gracias!

Respuesta

6

La propiedad de adaptadores espera una matriz de objetos XMLAdapter y no Classes. Entonces la configuración correcta es la siguiente.

<property name="adapters"> 
    <list> 
     <bean class="com.lmig.am.claims.clip.ContactAdapter"/> 
    </list> 
</property> 
Cuestiones relacionadas