Olá a todos, estou com uma dúvida a um tempo e não sei como tratá-la.
Possuo um webservice em java e que também é consumido por outro sistema em java, tudo com jax-ws.
A minha dúvida é o seguinte:
Como devo tratar as exceptions dos métodos do webservice? Devo pegá-las em um try-catch e retornar a mensagem ou posso colocar throws no método? Quais são as boas práticas para este caso?
Apesar de ser possível vc. simplesmente colocar no seu método um ‘throws exception’ e deixar o JAX-WS retornar um “Fault”, eu não gosto desta abordagem.
Na medida do possível, prefiro modelar serviços de forma que ele sempre volte um “resultado”, no qual coloco no mínimo as seguintes informações:
um boolean indicando sucesso ou fracasso na operação
uma lista de informações de diagnóstico, onde cada elemento possui um código de mensagem e uma informação textual
dependendo do caso, um identificador de um “ticket” ou semelhante que possa ser utilizado como referência para suporte e cruzado com o log do lado do servidor
o resultado em si da operação.
Seguir um padrão como este facilita a vida de quem tiver que consumir seu serviço, já que em caso de erro as informações de erro ajudarão bastante…
R
Raiduster
Acho que vou criar uns DTO(Data Transfer Object) e dentro deles eu coloco o booleano dizendo se foi bem sucedido, uma mensagem de erro e o meu objeto.