Jax RS - WebApplicationException
Bonjour,
J'utilise des services REST pour faire communiquer une app swing et un back end java.
Je souhaite renvoyer une exception avec un message particulier à mon client swing, en faisant un extends de la classe WebApplicationException (classe que j'appelle AlreadyExistsException) et en envoyant cette nouvelle exception au client.
Résulat, je reçois bien une exception côté client, mais c'est une WebApplicationException et pas une AlreadyExistsException avec mon message.
voici le code de l'exception
Code:
1 2 3 4 5 6 7 8 9 10 11
|
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
public class AlreadyExistsException extends WebApplicationException
{
public AlreadyExistsException(String message)
{
super(Response.status(Response.Status.CONFLICT).entity("Driver exists").build());
}
} |
la déclaration de mon service, qui renvoie l'exception:
Code:
1 2 3 4 5
| @POST
@Path("/")
@Produces("application/xml;charset=utf-8;version=1")
@Consumes("application/xml;charset=utf-8;version=1")
Driver create(Driver drv) throws AlreadyExistsException; |
L'implémentation de mon service
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| @Override
@Transactional(propagation=Propagation.REQUIRED, rollbackFor={Exception.class})
public Driver create(Driver drv) throws AlreadyExistsException
{
Driver drv= driverDAO.getByCode(drv.getCode());
if(drv != null)
{
throw new AlreadyExistsException();
}
return driverDAO.create(drv);
} |
Une idée de ce qui ne va pas ?