2010-09-16 27 views
0

我有做過http://blah.com現在我已經被要求使用https://blah.comHttps在Android上返回404與DefaultHttpClient?

前者的作品和後來的失敗,與網絡I/O錯誤的HTTP請求。有沒有我需要的客戶端缺少的參數設置?

的URL請求:

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

以下是日誌:

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 

回答

1

的Https幾乎總是意味着正在使用不同的端口(標準HTTP => 80;標準的https => 443)。你有一個硬編碼端口(8151)。我猜測https servlet正在偵聽不同的端口。

或者您正嘗試連接到不支持https的服務器。

+1

明天我會檢查港口。服務器可能沒有切換對此服務的支持,因爲它剛剛被作爲一項要求進行了討論。我被指示儘快切換 - 但也許這太S :) – mobibob 2010-09-17 05:11:31

+0

它是端口...我有一些其他問題,包括內容類型,但從網絡I/O改爲200 OK與應用程序響應。我給你答案。謝謝! – mobibob 2010-09-19 04:56:30

+0

順便說一句 - 我的網站接受https的「默認」端口,因此刪除:8150也起作用。無論如何,到非HTTPS端口的硬編碼端口都是問題。 – mobibob 2010-09-19 04:59:01