ksoap таймаут за прокси в андроиде - PullRequest
0 голосов
/ 03 февраля 2011

Я попробовал пример из http://www.helloandroid.com/tutorials/using-ksoap2-android-and-parsing-output-data, чтобы получить запрос и ответ от службы wsdl.это работает нормально, когда я попробовал в прокси.но когда я работаю за прокси-сервером, я получаю "Тайм-аут операции: время запроса не выполнено: java.net.SocketException" есть ли способ установить для прокси SoapObject или Soap Envelop?

Ответы [ 4 ]

2 голосов
/ 14 февраля 2011

Ksoap не работает за прокси.Чтобы это работало, загрузите HttpTransportSE.java и ServiceConnectionSE.java из sourceforge.

Создайте пакет с HttpTransportSE и ServiceConnectionSE.

В конструкторе ServiceConnectionSE:

 String myProxy=android.net.Proxy.getDefaultHost() ;
            int myPort=android.net.Proxy.getDefaultPort();

            if(myProxy!=null){
                Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(myProxy, myPort));
                connection = (HttpURLConnection) new URL(url).openConnection(proxy);
            }
            else
            {
                connection = (HttpURLConnection) new URL(url).openConnection();
            }

Теперь, где бы мы ни вызывали метод HttpTransportSE.call (), убедитесь, что он указывает на ваш собственный пакет с этими двумя файлами.

1 голос
/ 30 июня 2012

Привет всем! В последней версии KSOAP2.6.5 [Протестировано и проверено] есть исправление проблемы с аутентификацией прокси. Конструктор HTTPTransportSE теперь принимает экземпляр java.net.Proxy в качестве параметра вместе с URL. Метод будет похож
HttpTransportSE httpTransport=new HttpTransportSE(proxy,URL);
Если ваш прокси настроен и требует аутентификации, используйте Authenticator класс для настройки учетных данных прокси и успеха. HTH, если не пиши мне обратно

0 голосов
/ 07 марта 2012

Заменить на это ..

//Timeout in milliseconds

int timeout=60000;
AndroidHttpTransport androidHttpTransport=new AndroidHttpTransport(url, timeout);
0 голосов
/ 03 февраля 2011

Насколько я знаю, вы должны сами настроить прокси в настройках операционной системы Android, и он будет работать нормально.

...