이 문제에 대한 적절한 해결책을 찾을 수 없습니다. 내가 무슨 일이 있었는지에 따라 사용자에게 다른 메시지를 처리하고 표시하고 싶습니다. 나는 Spring WS를 사용하고 marshalSendAndReceive
으로 전화를 걸었다. 반환하는 서비스 메서드에서 지금은 간단히 catch (WebServiceIOException e)
, 문제는이 예외가 모두 거부 된 (잘못된 자격 증명) 및 쿼리가 클라이언트 쪽 (시간 초과)에 의해 지정된 시간보다 오래 걸릴 때 발생한다는 것입니다. "무언가가 잘못되었다"는 일반적인 메시지를 제시하지 않고이 두 가지를 적절하게 처리 할 수있는 방법이 있습니까?스프링 WS : 핸들 연결이 거부되고 클라이언트 시간 초과 예외가 발생했습니다.
1
A
답변
1
WebServiceTemplate
은 try...catch
블록 및 포괄적 인 오류 처리가있는 doSendAndReceive
메서드에서 열심히 수행합니다. 그 중 하나는 triggerAfterCompletion(int interceptorIndex, MessageContext messageContext, Exception ex)
이며, 이는 투입된 ClientInterceptor
에 위임합니다.
따라서 적절한 비즈니스 예외를 발생 시키려면 afterCompletion(MessageContext messageContext, Exception ex)
을 올바르게 구현하면됩니다.
관련 문제
- 1. 서버 측에서 스프링 ws 시간 초과
- 2. JAX-WS 시간 초과 문제
- 3. WS 약속 시간 초과 증가
- 4. java.net.ConnectException : 연결 시간 초과 : 연결 예외가 발생했습니다
- 5. Android Volley에서 시간 초과 예외가 발생했습니다.
- 6. 스프링 JavaConfig + JAX-WS 클라이언트
- 7. 스프링 WS 용 JavaScript 클라이언트
- 8. WCF 클라이언트 시간 초과
- 9. 축 클라이언트 시간 초과
- 10. Azure StorageClient 클라이언트 측 시간 초과
- 11. 스프링 부트 세션 시간 초과
- 12. 안드로이드 소켓 클라이언트 시간 초과
- 13. 시간 초과 : 기본 연결이 닫혔습니다 : 예기치 않게 연결이 닫혔습니다.
- 14. Heroku의 Rails 앱에서 임의 시간 초과 예외가 발생했습니다.
- 15. Java에서 ResultSet에서 next를 호출 할 때 시간 초과 예외가 발생했습니다.
- 16. Android 개조로 인해 소켓 시간 초과 예외가 발생했습니다.
- 17. 원격 액터에 요청할 때 시간 초과 예외가 발생했습니다
- 18. 웹 클라이언트 시간 초과 존경하지
- 19. gwt 클라이언트 세션 시간 초과
- 20. HTTP 클라이언트, 유휴 시간 초과
- 21. xmlrpclib 클라이언트 요청 시간 초과
- 22. 일부 클라이언트 브라우저에서 MQTT 연결 시간 초과
- 23. 시간 초과 후 URL 연결이 끊어지는 앱
- 24. 시간 초과 후 TcpClient 연결이 끊어졌습니다.
- 25. SQL Server 2005 시간 초과, 연결이 재설정되었습니다.
- 26. 휴식 클라이언트 throw 시간 초과 예외
- 27. SignalR 시간 초과 속성
- 28. 시간 초과 된 블루투스 연결에 오류가 발생했습니다.
- 29. SignalR .NET 클라이언트 시간 초과 여기
- 30. 시간 초과 asp.net에서 오류가 발생했습니다
현재 프로젝트의 Spring WS 라이브러리가 조금 더 오래되어서 그런 동작을하지 못한다. – Vaelyr
글쎄, 그렇지 않으면'WebServiceIOException'에서'cause'를 추출하고 각 경우에 대한 논리를 작성해야합니다. 왜냐하면'WebServiceTemplate'은 다음과 같이하기 때문입니다 :'throw new WebServiceIOException ("I/O error :"+ ex.getMessage(), ex);' –