Tenho uma dúvida a respeito de Web Services sobre a qual não achei absolutamente nada: como fazer para que as operações que estejam sendo executadas no servidor parem (consequentemente, façam um rollback) quando o cliente que os chama receber um erro de timout após o início do consumo do serviço?
Por exemplo: um cliente fez a chamada a um serviço e a operação no servidor começou. No entanto, por algum motivo qualquer, esta operação demorou além do tempo configurado como timeout do cliente e, desta forma, o cliente recebeu uma exceção de timeout. O problema é que isto, por padrão, não para a operação no servidor. Como se resolve isto num mundo de serviços?
Minha experiência com WebServices ainda é pequena, por isso estou com dificuldades com casos como este. Gostaria muito que ao menos dessem alguma opinião a respeito disso.
Obs.: meu ambiente é todo baseado em Hibernate, Spring e CXF.
Aguardo ideias. Obrigado!