Я перевожу сервис SOAP в REST. Я использую определение wsdl и использую его для автоматической генерации классов запросов и ответов с помощью JAXB.
Это моя конечная точка:
@Endpoint
public class RefundServiceEndpoint {
@Autowired
private RefundService refundService;
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
@ExceptionHandler(value = RefundException.class)
public void handleException(RefundException exception) {
// This should be called
}
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
@ExceptionHandler(value = UnableToMapException.class)
public void handleException(UnableToMapException exception) {
// This should be called
}
@Autowired
HttpServletRequest serverRequest;
@PayloadRoot(namespace = NAMESPACE_URI, localPart = "ReturnRequest")
@ResponsePayload
public ReturnResponse returnRequest(@RequestPayload ReturnRequest request) {
return this.refundService.partialRefund(request, serverRequest).getBody();
}
}
Я выбрасываю эти два исключения, но обработчики не вызываются.
Единственный способ получить их - попробовать / поймать, но я пытаюсь этого избежать.
Спасибо