файл wsimport и wsdl с внешними пространствами имен

Я использую инструмент Oracle JDK 1.7 wsimport для создания клиента для службы JAX-WS с использованием нисходящего подхода, и я хотел бы понять, что происходит, когда я передаю его с файлом *.wsdl, который использует или импортирует пространства имен, определенные в Интернете. Будет ли инструмент 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

... через Интернет и есть ли способ самостоятельно передать ему эту и другие зависимости транзитивной схемы, чтобы ему не приходилось обращаться к ним по сети?


person Marcus Junius Brutus    schedule 26.05.2013    source источник


Ответы (1)


Да, есть способ: использовать файл каталога. Например. как здесь или как описано в эта запись в блоге

person Marcus Junius Brutus    schedule 07.10.2013