2013-02-06 90 views
1

我使用用下面的配置春天3.0.6 Jaxb2Marshaller,Jaxb2Marshaller XSD架構驗證查詢

<bean id="jaxbMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller"> 
    <property name="contextPaths"> 
     <list>    
      <value>com.xxx.yyy.schema.external_request.event</value> 
      <value>com.xxx.yyy.schema.zzz.external_request</value>      
     </list> 
    </property> 
</bean> 

我想驗證XML反對對它所沒有做external_request.xsd。我是否需要明確地通過模式屬性,即使生成的源具有提及該元素的註釋,如@XmlElement(name = "abc", required = true)。有沒有人已經遇到過這個問題。謝謝!

回答

1

嘿可能的,而不是添加類context paths,你可以嘗試將其添加到classesToBeBound proprty

<bean id="jaxb2Marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller"> 
    <property name="classesToBeBound"> 
     <list> 
      <value>com.xxx.yyy.schema.external_request.event</value> 
      <value>com.xxx.yyy.schema.zzz.external_request</value>   
     </list> 
    </property> 
</bean> 

請評價答案是否有幫助。 歡呼

+0

但是,如果我添加classesToBeBound,我相信我將不得不列出所有類在我的情況下,他們會很多。此外,如果新元素被添加到xsd中,我將不得不經常更新它,所以我猜它會很難維護。我可以試一試。感謝您的回覆。 –

+0

我從你的帖子中得到的問題是,@XmlElement(name =「abc」,required = true)在春天沒有收到,因此我想讓你嘗試一下classesToBeBound – Sudhakar