Java jax-ws:强制xjc(和wsimport等)只能使用导入模式的目录条目

时间:2013-09-25 20:54:09

标签: java jaxb jax-ws xjc wsimport

我在尝试将XSD文件与提供的目录一起导入时,jax-ws工具链中的某些工具(xjc以及可能wsimport)的行为存在问题。

例如,我了解xjc当提供目录文件时(例如,参见here),将从目录中指示的位置获取导入的模式,即使<xs:import>元素具有正确托管的有效xs:schemaLocation,并且可以通过网络从中提取架构。

到目前为止,目录条目覆盖schemaLocation属性是有意义的。

但是,如果目录文件指示本地文件系统位置并且由于某种原因,例如,如果目录路径中有错误输入,则无法访问目录提供的位置,xjc工具将以静默方式恢复为xs:schemaLocation值,并从那里检索文件。更糟糕的是,如果条目被标记为&#34; PUBLIC&#34;那么这种行为只会发生(据我所做的一些测试)。在目录中 - 如果它被标记&#34; SYSTEM&#34; xjc工具确实会抱怨。

所以,我的问题是:

要始终保持一致的行为,是否有办法禁用 xjcschemaLocation属性获取并强制它始终查找导入的模式目录如果没有找到它们会失败吗?请注意,这与询问如何禁用xjc的网络提取功能不同,因为我认为在某些情况下它可能仍然有用于指示目录文件上的Intranet位置。

xjcwsimport运行期间无法通过某种方式禁用所有网络访问?

0 个答案:

没有答案