Любой способ генерации документации 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
Ответы
Ответ 1
Вы можете посмотреть Enunciate. Можно использовать его плагин Maven для создания статических HTML файлов из комментариев Javadoc. Это работает для конечных точек SOAP (т.е. JAX-WS) и REST (т.е. JAX-RS).
Интересные чтения:
Примеры производства:
Ответ 2
Вы не единственный, кто ищет способ создания документации WSDL (см. Создание документации WSDL из потока Javadoc), но AFAIK, для этого не существует standard JAX-WS.
Теперь, возможно, взгляните на проприетарную аннотацию JBoss @Documentation
, упомянутую в JBWS-1850, которая генерирует артефакты jaxws:binding
, описанные в разделе 2.9 Javadoc Customization при использовании Java- > WSDL-подхода. Это не совсем то, что вы просили, но это может дать вам некоторые идеи.
В любом случае, я предполагаю, что для этого потребуется предоставить свой собственный WSDLGeneratorExtension
для расширения wsgen
и генерации желаемого WSDL.
Ответ 3
В одном проекте мы опубликовали много WSDL. Для каждой веб-службы мы открыли WS-метод "getDocumentationURL()". Этот метод возвращает ссылку на JavaDoc, сгенерированную из SEI. JavaDoc размещался на доступном сервере интрасети.