WSDL schemaLocation: возможно ли импортировать .xsd в .wsdl, используя относительный путь? - PullRequest
0 голосов
/ 21 апреля 2011

Вот мой WSDL:

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions targetNamespace="http://xxx" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns0="http://xxx/commun/axis" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://xxx" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

     <wsdl:types>
          <xsd:schema targetNamespace="http://xxx/commun/axis" xmlns="http://www.w3.org/2001/XMLSchema">
               <xsd:include schemaLocation="https://host:port/path/WebServices/wsdl/typesServicesApplicatifs.xsd"/>
(...)

Файл typesServicesApplicatifs.xsd находится в том же каталоге, что и файл WSDL (внутри войны), возможно ли использовать относительный путь вместо абсолютного путидля расположения схемы?

Это было бы очень полезно, потому что на данный момент схема расположения отличается в каждой среде (хост и порт должны быть указаны).

РЕДАКТИРОВАТЬ: этот вопрос совпадает с последним в этой теме (без ответа): http://forum.springsource.org/showthread.php?p=342542

1 Ответ

0 голосов
/ 01 мая 2011

Вот способ добиться этого:

Используя Spring-WS, WSDL может быть сгенерирован автоматически из:

<sws:dynamic-wsdl id="holiday" portTypeName="HumanResource" **locationUri="/holidayService/"** targetNamespace="http://mycompany.com/hr/definitions">
  <sws:xsd location="/WEB-INF/hr.xsd"/>
</sws:dynamic-wsdl>

source: http://static.springsource.org/spring-ws/site/reference/html/tutorial.html#tutorial-publishing-wsdl

Таким образом, хост, порт и путь к контексту не нужно указывать внутри WSDL.

...