Любой способ генерировать документацию WSDL из Javadoc с JAX-WS?

Я надеюсь, что есть какое-то расширение, которое делает это (хотя я полагаю, что моя надежда глупо оптимистична).

   /**
     * <p>
     * Gets the {@link ResultObject} given the identifier. The following
     * fields are not available for some users and will contain a null value:
     * </p>
     * 
     * <ul>
     * <li>{@code resultObject.comment}</li>
     * <li>{@code resultObject.anotherObject.actionById}</li>
     * <li>{@code resultObject.anotherObject.actionByName}</li>
     * </ul>
     * 
     * <p>
     * The {@code daysInPurgatory} value will be {@code -1} when not
     * applicable
     * </p>
     * 
     * @param requestUser
     *            the user initiating the request
     * @param identifier
     *            the id of the ResultObject
     * @return the {@link ResultObject} or {@code null} if none exists
     * @throws SomeException
     *             if the {@code identifier} is {@code null}
     */
    @WebMethod
    @WebResult(name = "resultObject")
    public ResultObject getResultObjectById(
     @WebParam(name = "RequestUser", header = true, partName = "RequestUser") final String requestUser,
     @WebParam(name = "identifier") final Long identifier)
     throws SomeException;

Спасибо, LES2

3 ответа

Решение

Вы можете посмотреть на Enunciate. Можно использовать его плагин Maven для генерации статических HTML-файлов из комментариев Javadoc. Это работает для конечных точек SOAP (т.е. JAX-WS) и REST (т.е. JAX-RS).

Интересно читает:

Примеры производства:

Вы не единственный, кто ищет способ создания документации WSDL (см. " Создание документации WSDL из потока Javadoc"), но, AFAIK, для этого не существует стандартного способа JAX-WS.

Теперь, возможно, взгляните на фирменную аннотацию JBoss @Documentation упоминается в JBWS-1850, который генерирует jaxws:binding Артефакты, описанные в разделе 2.9 Настройка Javadoc при использовании подхода Java-> WSDL. Это не совсем то, что вы просили, но это может дать вам некоторые идеи.

В любом случае, я предполагаю, что для этого потребуется предоставить свой собственный WSDLGeneratorExtension расширить wsgen и генерировать желаемый WSDL.

В одном проекте мы опубликовали много WSDL. Для каждого веб-сервиса мы выставили WS-метод "getDocumentationURL()". Этот метод возвращает ссылку на JavaDoc, сгенерированный из SEI. JavaDoc был размещен на доступном сервере внутренней сети.

Другие вопросы по тегам