У меня есть приложение android, которое я сделал с помощью android studio, и я использую библиотеку KSOAP2
для доступа к WCFservice
, который я тоже сделал сам. Я сталкиваюсь со странной проблемой. Я использую приведенный ниже код для создания HttpTransportSE
объекта и установки на него timeOut
:
HttpTransportSE transport = new HttpTransportSE(my_url + my_service + "/",120000);
transport.setReadTimeout(120000);
Я могу без проблем вызывать любые методы службы WCF. Но когда я вызываю метод, который занимает более 30 секунд, он завершается с ошибкой и возвращает нижеуказанную ошибку объектом HttpTransportSE
:
HTTP-запрос не выполнен, статус HTTP: 504
На моей стороне сервера я установил CommandTimeout
SqlCommand равным 120 секундам. Самое странное, что когда я запускаю приложение на своем реальном устройстве с мобильным соединением для передачи данных (без WiFi), я получаю вышеуказанную ошибку, но когда я запускаю его на эмуляторе android studio (у моего P C есть WiFi соединение) ошибка не возникает и объект HttpTransportSE
возвращает результат примерно через 60 секунд. Я не знаю, в чем проблема, но я думаю, что мой сервер и служба WCF работают правильно, потому что в эмуляторе нет ошибок. Я полагаю, что существует проблема или какое-то ограничение в мобильной сети передачи данных.