3

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

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

4

1 回答 1

0

是的,有一种方法:使用目录文件。例如,在这里本博文中所述

于 2013-10-07T22:19:33.443 回答