Проблемы с возвратом вызова HTTPTransportSE - PullRequest
0 голосов
/ 04 января 2019

У нас есть приложение Android, которое вызывает SoapService на нашем сервере, используя Ksoap2. Этот вызов очень хорошо работает для данного метода, когда SoapRequest меньше 5 МБ.

Когда SoapRequest начинает увеличиваться в размере, вызов HttpTransportSE для этого метода начинает давать SocketTimeouts. Сначала мы думали, что это нормальное поведение из-за увеличения размера, поэтому мы изменили время ожидания.

К сожалению, после изменения тайм-аутов он все еще не работал (мы дошли до 24 часов), мы начали думать, что, возможно, проблема была на сервере, и установили некоторые регистраторы. Регистраторы показали нам, что сервер работает нормально.

Впоследствии мы попытались реализовать решение, которое не работало для нашего большого запроса: Метод HttpTransportSE .call () не имеет действия

Итак, мы подумали, что, возможно, виновата пара запрос / ответ. Таким образом, мы извлекли запрос из ksoap2 и отправили его через curl из одного из наших ноутбуков, когда находились на Wi-Fi. Запрос работал очень хорошо, и ответ был получен без проблем.

Из-за этого, а также из-за ограничений нашего сервера мы будем рефакторинг кода для работы со многими маленькими запросами вместо одного большого запроса, но для этого потребуется обновление.

Но поскольку один из наших пользователей затронут этой ошибкой и нуждается в решении, нам нужно найти способ решить эту проблему без рефакторинга. Есть предложения?

...