Alguma maneira de gerar documentação WSDL do Javadoc com Jax-Ws?
-
20-09-2019 - |
Pergunta
Espero que esteja disponível uma extensão de algum tipo que faça isso (embora eu suponha que minha esperança seja tolamente otimista).
/**
* <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;
Obrigado, LES2
Solução
Você pode olhar para Enunciar. É possível usar é o plugin maven Para gerar arquivos HTML estáticos a partir de comentários Javadoc. Isso funciona para pontos de extremidade Soap (ou seja, Jax-Ws) e REST (ou seja, Jax-Rs).
Leituras interessantes:
- https://github.com/stoicflame/enunciate/wiki/documentation-lly
- http://raibledesigns.com/rd/entry/my_experience_with_java_rest
Exemplos de produção:
Outras dicas
Você não é o único que procura uma maneira de gerar documentação WSDL (veja o Gerando documentação WSDL da Javadoc thread) mas, afaik, não há padrão Jax-ws maneira de fazer isso.
Agora, talvez dê uma olhada na anotação proprietária da JBoss @Documentation
mencionado em JBWS-1850 isso gera jaxws:binding
artefatos descritos na seção 2.9 Customização Javadoc Ao usar a abordagem Java-> WSDL também. Não é exatamente o que você pediu, mas pode lhe dar algumas idéias.
De qualquer forma, acho que isso exigiria fornecer o seu próprio WSDLGeneratorExtension
para estender wsgen
e gerar o WSDL desejado.
Em um projeto, publicamos muitos WSDLs. Para todos os serviços da web, expusemos um método WS "getDocumentationurl ()". Este método entrega de volta um link para o Javadoc gerado a partir do SEI. O Javadoc foi colocado em um servidor intranet acessível.