Я работаю в проекте SOAP WS с JBoss. Чтобы определить операции SOAP, я аннотирую свои классы Java с помощью @Local и @WebService, а свои методы с помощью @WebMethod и @ WebResult.
Файл WSDL генерируется автоматически JBoss. Я могу настроить некоторые аспекты WSDL:
https://docs.jboss.org/author/display/JBWS/Published+WSDL+customization
JBoss разбивает WSDL на несколько файлов. «Основной» WSDL использует теги для включения других файлов.
Мой веб-сервис используется как внутри сети, так и за ее пределами. «Внутреннее» имя хоста моего WS отличается от его «внешнего» имени хоста. Поскольку JBoss генерирует полные URL-ссылки для импорта WSDL, и для того, чтобы мой WSDL был действительным, я должен перезаписать имя хоста URL-адреса с помощью wsdl-host.
Мне пришлось использовать внешний URL в wsdl-host, чтобы позволить обеим внутренним внешним системам работать. Таким образом, все внутренние клиенты SOAP выбирают включенные части WSDL с использованием внешнего URL-адреса. Если внешний прокси-сервер по какой-то причине не работает, мои внутренние клиенты не могут использовать WS, поскольку они не могут загрузить WSDL.
Есть ли способ предотвратить разбиение JBoss WSDL на несколько файлов или заставить его использовать относительный путь вместо полного URL-адреса внутри тегов ?