[英]Android ksoap2 via https
有沒有人能夠通過https使用ksoap2 android連接到肥皂服務器?
我一直收到“主機名<###>未經驗證”的錯誤
我正在做
AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport (URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
顯然回顧其他ksoap不是為了你的安慰我們給我們一個不同的呼叫通過https連接,但我找不到在Android版本中做到這一點的方法。
有人找到了一種關於或知道使用呼叫的方法嗎?
謝謝你的幫助
好吧,你需要在Android設備上做兩件事:
new KeepAliveHttpsTransportSE(host, port, file, timeout);
。 參數進入URL對象,例如,為了訪問Jira安裝,它就像new KeepAliveHttpsTransportSE("host.whatever", 443, "/rpc/soap/jirasoapservice-v2", 1000)
順便說一句:我在“Android設備”上寫道,因為我發現在J2SE環境中首先測試這些東西是有用的,這里lib中缺少(KeepAlive)HttpsTransportSE的東西(我使用了ksoap2-j2se-full-2.1.2) 。罐)。 只需從ksoap2-android獲取三個類HttpsTransportSE,KeepAliveHttpsTransportSE和HttpsServiceConnectionSE的源代碼,並將它們放入J2SE項目並使用它們。 它的工作原理是提高生產力,以獲得未知Web服務的第一步(如果您知道Web服務以及如何調整ksoap2,它沒用,但它對我來說很方便,因為我是ksoap2及其android的新手分拆)。
android ksoap2 2.5.2是支持https的
http://code.google.com/p/ksoap2-android/
問題是我不太確定如何使用它
HttpsTransportSE aht = new HttpsTransportSE(host, port, file, timeout)
我為“文件”參數輸入了什么? 有誰有任何想法?
btw AndroidHttpTransport在最新版本的ksoap2中已棄用
您可以將文件名設置為空字符串(“”)。 查看ksoap的源代碼,它將參數傳遞給java.net.URL,並從Sun Javadoc引用文件 - “主機上的文件”。 我已經放棄嘗試使用ksoap2進行SOAP https調用。 問題在於Android處理SSL連接的方式。 唯一的解決方案似乎是創建一個本地密鑰庫來存儲SSL證書,並在Apache Httpclient周圍編寫一個包裝器來使用證書。 所以我不妨使用REST實現這些調用。 猜猜這就是谷歌希望我們做的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.