带有外部名称空间的wsimport和wsdl文件

时间:2013-05-26 16:46:43

标签: jax-ws wsimport

我正在使用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

...通过网络,有没有办法自己提供这个和其他传递模式依赖关系,以便它不必通过网络访问它们?

1 个答案:

答案 0 :(得分:0)

是的,有一种方法:使用目录文件。例如。 as in herethis blog post

中所述