Я хочу создать службу SOAP с несколькими типами портов, где каждый тип порта имеет отдельный интерфейс. Я пытаюсь сделать это с помощью JAX-WS 2.0.
Пример:
interface A:
ObjectA get(String name);
interface B:
ObjectB get(String name);
Service:
port A
get
port B
get
Проблема, с которой я столкнулся, заключается в том, что @WebService определяется с использованием одного класса / интерфейса, поэтому единственный способ, которым я могу это настроить, - это наличие двух отдельных служб. Каждый сервис реализован отдельным классом с аннотацией @WebService.
Я хотел бы выставить оба порта, используя один и тот же сервис, чтобы было ясно, что оба они являются частью одного и того же API. Возможно ли это?
На самом деле, мне нужно иметь некоторую поддержку вложенных пространств имен в WSDL, поэтому у меня могут быть одинаковые методы в разных пространствах имен. У меня будут методы get / set / delete для разных типов данных рядом друг с другом, но я бы предпочел не помещать их все в один большой интерфейс с getA / getB и т. Д., Так как я хотел бы иметь возможность добавить новые типы данных позже, не вынуждая всех клиентов восстанавливаться из нового набора WSDL. Любые советы по достижению этого приветствуются, даже если это означает использование другого способа генерации WSDL из кода Java.