我正在构建一个基于 SAML-P 和 XACML 的 Web 服务,这需要 JAX-B/XJC 为每个构建考虑大量的 XSD。这需要很长时间并且非常不可靠,我认为是由于 W3C 限制 XSD 请求以减轻其服务器上的负载(基于他们的博客文章)。
更糟糕的是,一些 W3C XSD 包含明显的拼写错误,因此必须下载并修补这些错误,并编辑引用文件的 schemaLocation 以加载本地副本。主要 SAML-P 模式之一存在此问题(双 >> 和非常不正确的导入地址)。
我认为有一种方法可以使 Eclipse(或 JAX-B,或其他东西;不确定什么会解决这个问题;也许是 Xerces?)维护 XSD 的缓存并在我的构建中用这些替换 http:// refs(甚至系统范围)。但我还没有设法找到一个可行的食谱。有人可以帮忙吗?谢谢!