我正在使用Oracle的JDK 1.7 wsimport 工具使用自上而下的方法为 JAX-WS 服务构建客户端,我想了解当发生时会发生什么我用*。 wsdl 文件提供它,该文件使用或导入Web上定义的命名空间。 wsimport 工具是否会尝试取消引用并获取相应的 xsd 文件?有没有办法从本地文件系统中提供所需的模式文件,以便可以支持脱机构建?
E.g。我的 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
...通过网络,有没有办法自己提供这个和其他传递模式依赖关系,以便它不必通过网络访问它们?