How to set timeout in Spring WebServiceTemplate

前端 未结 9 1048
一整个雨季
一整个雨季 2020-12-05 06:45

I am using org.springframework.ws.client.core.WebServiceTemplate for making Web Service calls. How can i configure timeout for the call.

9条回答
  •  無奈伤痛
    2020-12-05 07:23

    Since Spring Webservices 2.2, you can also use Spring's ClientHttpRequestMessageSender:

    @Service
    public class CustomWebServiceImpl extends WebServiceGatewaySupport implements CustomWebService {
        private static final int CONNECTION_TIMEOUT = (10 * 1000);
        private static final int READ_TIMEOUT = (10 * 1000);
    
        public CustomWebServiceImpl() {
            SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
            requestFactory.setConnectTimeout(CONNECTION_TIMEOUT);
            requestFactory.setReadTimeout(READ_TIMEOUT);
            setMessageSender(new ClientHttpRequestMessageSender(requestFactory));
        }
    
        (...)
    }
    

    (no dependency to Apache HTTP Components required)

提交回复
热议问题