Вот мой 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
Вот способ добиться этого:
Используя 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.