2010-09-16 11 views
0

J'ai une requête http qui a travaillé comme http://blah.com et maintenant on m'a demandé d'utiliser https://blah.comHttps renvoie 404 avec DefaultHttpClient sur Android?

Les travaux antérieurs et plus tard échoue avec une erreur d'E/S réseau. Y a-t-il des paramètres de paramètres manquants dont j'ai besoin pour le client?

La requête URL:

D/MyAppWebservice(23142): http-transform :) [https://cdp.mobibob.com:8151/DoTransaction] 

Suite est le journal:

E/MyAppContentProvider(23142): com.mobibob.myapp.MyAppExceptions$ParseException: Network or I/O error calling web service. 
W/System.err(23142): com.mobibob.myapp.MyAppExceptions$ParseException: Network or I/O error calling web service. 
W/System.err(23142): at com.mobibob.myapp.MyAppWebservice.queryApi(MyAppWebservice.java:558) 
W/System.err(23142): at com.mobibob.myapp.MyAppContentProvider.queryWebservice(MyAppContentProvider.java:751) 
W/System.err(23142): at com.mobibob.myapp.MyAppContentProvider.query(MyAppContentProvider.java:440) 
W/System.err(23142): at android.content.ContentProvider$Transport.query(ContentProvider.java:130) 
W/System.err(23142): at android.content.ContentResolver.query(ContentResolver.java:202) 
W/System.err(23142): at com.mobibob.myapp.ui.DownloadActivity.goGenDownloadTransaction(DownloadActivity.java:168) 
W/System.err(23142): at com.mobibob.myapp.ui.DownloadActivity$DownloadTransaction.doInBackground(DownloadActivity.java:90) 
W/System.err(23142): at com.mobibob.myapp.ui.DownloadActivity$DownloadTransaction.doInBackground(DownloadActivity.java:1) 
W/System.err(23142): at android.os.AsyncTask$2.call(AsyncTask.java:185) 
W/System.err(23142): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
W/System.err(23142): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
W/System.err(23142): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068) 
W/System.err(23142): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561) 
W/System.err(23142): at java.lang.Thread.run(Thread.java:1096) 
W/System.err(23142): Caused by: java.io.IOException: SSL handshake failure: I/O error during system call, Unknown error: 0 
W/System.err(23142): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.nativeconnect(Native Method) 
W/System.err(23142): at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:305) 
W/System.err(23142): at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:92) 
W/System.err(23142): at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:321) 
W/System.err(23142): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:129) 
W/System.err(23142): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164) 
W/System.err(23142): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) 
W/System.err(23142): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348) 
W/System.err(23142): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 
W/System.err(23142): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 
W/System.err(23142): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465) 
W/System.err(23142): at com.mobibob.myapp.MyAppWebservice.queryApi(MyAppWebservice.java:510) 
W/System.err(23142): ... 13 more 

Répondre

1

Https implique presque toujours un autre port utilisé (standard http => 80, norme https => 443). Vous avez un port codé en dur (8151). Je suppose que la servlet https écoute sur un port différent.

Ou vous essayez de vous connecter à un serveur qui ne prend pas en charge le protocole https.

+1

Je vais vérifier le port demain. Il est possible que le serveur n'ait pas basculé sur la prise en charge de ce service car il a été récemment décrit comme une exigence. J'ai été chargé de changer ASAP - mais peut-être que c'était trop S :) – mobibob

+0

c'était le port ... J'ai eu d'autres problèmes, y compris le Content-Type, mais cela a changé de réseau I/O à 200 OK avec une réponse de l'application . Je vous accorde la réponse. Merci! – mobibob

+0

BTW - mon site Web accepte un port «par défaut» pour https, donc supprimer le: 8150 a également fonctionné. Dans tous les cas, le port codé en dur sur le port non-HTTPS était le problème. – mobibob

Questions connexes