今天写项目遇到:
05-13 02:54:19.636: WARN/System.err(294):javax.net.ssl.SSLException: Not trusted server certificate
at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:360)
at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.getSecureSocket(HttpConnection.java:168)
at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnection$HttpsEngine.connect(HttpsURLConnection.java:398)
at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnection.connect(HttpsURLConnection.java:146)
at org.ksoap2.transport.ServiceConnectionSE.connect(ServiceConnectionSE.java:75)
at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:136)
at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:90)
at com.ceosoft.acemetrix.wsdl.WSDLClient.MakeCall(WSDLClient.java:130)
at com.ceosoft.acemetrix.wsdl.WSDLClient.InvokeMethod(WSDLClient.java:108)
at com.ceosoft.acemetrix.wsdl.WSDLClient.getDailyTop5(WSDLClient.java:146)
at com.ceosoft.acemetrix.data.manager.DataManager$1.launch(DataManager.java:144)
at com.ceosoft.acemetrix.data.DataTask.doInBackground(DataTask.java:74)
at com.ceosoft.acemetrix.data.DataTask.doInBackground(DataTask.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
at java.lang.Thread.run(Thread.java:1096)
Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not found.
at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:168)
at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:355)
... 18 more
Caused by: java.security.cert.CertPathValidatorException: TrustAnchor for CertPath not found.
at org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi.engineValidate(PKIXCertPathValidatorSpi.java:149)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:211)
at org.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:164)
... 19 more
-----------------------------------------------------------------------------------------------------
找了一些参考资料:
http://stackoverflow.com/questions/995514/https-connection-android#1000205
http://groups.google.com/group/android-developers/browse_thread/thread/62d856cdcfa9f16e/dd59b1998d23a660?lnk=gst&q=SSL+fake+cert#dd59b1998d23a660
------------------------------------------------------------------------------------------------
得到结论:
call allowAllSSL() before you do any SSL communication/call to ksoap2. It will register a new default HostnameVerifier and TrustManager. ksoap2, when doing its SSL communication, will use the default ones and it works
like a charm.
分享到:
相关推荐
Android通过Ksoap2链接WebService上传图片的功能
android开发--使用ksoap2调用webservice[借鉴].pdf
使用ksoap2调用Webservice实例 需将lib文件夹设置为源文件夹 在AndroidManifest.xml文件中加入<uses-permission android:name="android.permission.INTERNET" />
ksoap2-android调用WebService 在Android中应用中的jar
在Android 中使用KSOAP2调用WebService.docx
ANDROID使用KSOAP2 开发 ,使用.NET开发的WEBSERVICE
NULL 博文链接:https://topmanopensource.iteye.com/blog/1290498
xfire开发webservice以及Android利用ksoap2访问webservice。包括源码和jar包
ksoap2-android-assembly-2.5.2.jar
Android通过Ksoap2访问dotNet_WebService
一个用于web开发的包
Android基于ksoap2的WebService通信客户端demo
ksoap 3.6.2访问webservice封装库 引用modules可直接使用
android端通过ksoap-android库连接ASP.NET的WebService的最简代码
androidsoap协议请求,soup协议解析所需的jar包,使用方法:https://www.jianshu.com/p/6ee4abebf071
,android用ksoap2调用webservice接口查询,导入能直接运行
android中与webservice进行交互的框架,很好用,注意:下载后请更改扩展名为jar直接导入工程环境
安卓调用webservice示例,包括ksoap2-android-3.6.4jar包
Android通过Ksoap包的方法 调用了 .net webserivce
一个简单封装好的小型使用ksoap2进行WebService的android小型demo,根据其中的README.txt文档可以直接对其中进行修改