Timeout di ksoap dietro proxy in Android
-
28-10-2019 - |
Domanda
ho provato l'esempio da http:// www.helloandroid.com / tutorials / using-ksoap2-android-and-parsing-output-data per ottenere richieste e risposte da un servizio wsdl.funziona bene quando ho provato in un proxyless.ma quando lavoro dietro proxy, ottengo "Operazione scaduta: ora richiesta non riuscita: java.net.SocketException" c'è un modo per impostare il proxy su SoapObject o SoapAvvolgere?
Soluzione
Ksoap non funziona dietro un proxy.per farlo funzionare .. scarica HttpTransportSE.java e ServiceConnectionSE.java da sourceforge.
Crea un pacchetto con HttpTransportSE e ServiceConnectionSE.
Nel costruttore 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();
}
ora, ovunque chiamiamo il metodo HttpTransportSE.call (), assicurati che punti al tuo pacchetto che ha questi due file.
Altri suggerimenti
Ciao a tutti, l'ultima versione di KSOAP2.6.5 [Testato e verificato] ha risolto il problema di autenticazione del proxy.Il costruttore HTTPTransportSE
ora accetta l'istanza java.net.Proxy
come parametro insieme all'URL.Il metodo sarà simile
HttpTransportSE httpTransport=new HttpTransportSE(proxy,URL);
Se il tuo proxy è configurato e se richiede l'autenticazione, usa
Authenticator
per configurare le credenziali del proxy e avere successo.HTH, se non mi rispondi
Per quanto ne so, devi configurare il proxy nelle impostazioni del sistema operativo Android e funzionerà correttamente.
Sostituisci con questo ..
//Timeout in milliseconds
int timeout=60000;
AndroidHttpTransport androidHttpTransport=new AndroidHttpTransport(url, timeout);