2013-02-06 50 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