Есть какой-нибудь способ сгенерировать документацию WSDL из Javadoc с помощью JAX-WS?
-
20-09-2019 - |
Вопрос
Я надеюсь, что доступно какое-то расширение, которое делает это (хотя я полагаю, что моя надежда глупо оптимистична).
/**
* <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
Решение
Вы можете посмотреть на Формулировать.Это можно использовать это плагин Maven для генерации статических HTML-файлов из комментариев Javadoc.Это работает для SOAP (т. е.JAX-WS) и REST (т.е.JAX-RS) конечные точки.
Интересные чтения:
- https://github.com/stoicflame/enunciate/wiki/Documentation-Only
- http://raibledesigns.com/rd/entry/my_experience_with_java_rest
Производственные примеры:
Другие советы
Вы не единственный, кто ищет способ создания документации WSDL (см. Генерация документации WSDL из Javadoc тема) но, АФАИК, нет стандартный JAX-WS способ сделать это.
Теперь, может быть, взглянете на проприетарную аннотацию JBoss @Documentation
упомянутый в JBWS-1850 это порождает jaxws:binding
артефакты, описанные в разделе 2.9 Настройка Javadoc при использовании Java-> WSDL подход такой же.Это не совсем то, о чем вы просили, но это может натолкнуть вас на некоторые идеи.
В любом случае, я предполагаю, что для этого потребуется предоставить свой собственный WSDLGeneratorExtension
для расширения wsgen
и сгенерируйте нужный WSDL.
В одном проекте мы опубликовали множество WSDL-файлов.Для каждого веб-сервиса мы предоставили WS-метод "getDocumentationURL()".Этот метод возвращает ссылку на JavaDoc, сгенерированный из SEI.JavaDoc был размещен на доступном сервере интрасети.