我正在使用 Oracle 的 JDK 1.7 wsimport工具使用自上而下的方法为JAX-WS服务构建客户端,我想了解当我使用 *. wsdl文件,它使用或导入在 Web 上定义的命名空间。wsimport工具会尝试去引用并获取对应的xsd文件吗?有没有办法从本地文件系统向它提供它需要的模式文件,以便支持离线构建?
例如,我的wsdl文件的顶部内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="IVOARegistrySearch"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:adql="http://www.ivoa.net/xml/ADQL/v1.0"
xmlns:tns="http://www.ivoa.net/wsdl/RegistrySearch/v1.0"
targetNamespace="http://www.ivoa.net/wsdl/RegistrySearch/v1.0">
<types>
<xs:schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://www.ivoa.net/wsdl/RegistrySearch/v1.0"
targetNamespace="http://www.ivoa.net/wsdl/RegistrySearch/v1.0">
我是否理解wsimport将尝试下载,例如adql命名空间前缀的模式文件:
http://www.ivoa.net/xml/ADQL/v1.0
...通过网络,有没有办法自己提供这个和其他传递模式依赖项,这样它就不必通过网络访问它们?