2011-10-11 25 views
6

Próbuję zdefiniować fasolę Jaxb2Marshaller w Spring-WS, aby użyć niestandardowego adaptera rozszerzającego XmlAdapter. Mam następujący w pliku XML:Jak ustawić listę Jaxb2Marshaller XmlAdapters w Spring bean poprzez 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> 

Jednak dostaję następujący błąd:

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

jakieś pomysły, co robię źle? Dzięki!

Odpowiedz

6

Właściwość adapters oczekuje na tablicę obiektów XMLAdapter, a nie Classes. Tak więc poprawna konfiguracja jest następująca.

<property name="adapters"> 
    <list> 
     <bean class="com.lmig.am.claims.clip.ContactAdapter"/> 
    </list> 
</property> 
Powiązane problemy