Тайм-аут запроса мыла не работает - PullRequest
0 голосов
/ 14 мая 2018

у нас есть запрос мыла, где у нас есть время ожидания установки для 300ms, когда мы делаем запрос, он принимает больше чем 300ms, как 1500ms или больше, но мы не получаем исключение времени ожидания, которое мы установили в ответ.

Таким образом, мы делаем вызов

SOAPMessage soapResponse = soapConnection.call(createSOAPRequest(requestWrapper, parammap), endpoint);

и endpoint формы в init методе, подобном этому

    endpoint = new URL(new URL(URL_CONSTANT), super.getEndpoint(), new URLStreamHandler() {
        @Override
        protected URLConnection openConnection(URL url) throws IOException {
            URL target = new URL(url.toString());
            URLConnection connection = target.openConnection();
            // Connection settings
            connection.setConnectTimeout(getTimeout());
            connection.setReadTimeout(getTimeout());
            return (connection);
        }
    });

в приведенном выше коде getTimeout()Функция работает правильно, и она установлена ​​300, но мы не уверены, почему она не работает, пожалуйста, предложите что-нибудь.

1 Ответ

0 голосов
/ 14 мая 2018

Метод soapConnection.call вызовет HttpSOAPConnection.post , который имеет локальный параметр соединения ( HttpURLConnection httpConnection .), Который создается с использованием endPoint.

Попробуйте отладить этот метод (запись), чтобы узнать, сколько времени истекает для фактического соединения, которое используется для выполнения вызова SOAP (т. Е. httpConnection локальная переменная внутри метода post).

...