Публикация нескольких порты с одним сервисом с использованием JAX-WS 2.0 и @WebService

Я хочу создать службу 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.

13
задан krig 3 September 2010 в 14:17
поделиться