Spring的Jaxb2Marshaller在没有网络连接的情况下失败了

时间:2012-04-05 16:48:44

标签: java spring jaxb

如果由于SAXParseException我不在线,我的Spring上下文初始化失败,我已经注意到在tomcat启动和单元测试期间多次请求XMLSchema.dtd和datatypes.dtd的嗅探器。我在这里阅读了有关使用目录的信息http://jaxb.java.net/2.2.4-1/docs/catalog.html,但不知道如何定义目录或如何将其插入我的应用程序。另一种方法是使用META-INF / spring.schemas,但似乎是在Spring配置中使用xsd,所以不要认为它会适用。

1 个答案:

答案 0 :(得分:0)

我发现请求是由我的架构引用的xmldsig-core-schema.xsd上的<!DOCTYPE标头引起的,我不知道它的用途是什么,但是我为我的应用程序删除了它。这是在xsd:

上面的剪辑
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd" [
   <!ATTLIST schema 
     xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#">
   <!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'>
   <!ENTITY % p ''>
   <!ENTITY % s ''>
  ]>
<!-- ...
-->
<schema ...