paypal - android java.security.NoSuchAlgorithmException: KeyManagerFactory SunX509 implementation not found -


i trying process paypal preapproval payment.

i use following code, found in paypal integration guides:

requestenvelope requestenvelope = new requestenvelope("en_us"); preapprovalrequest preapprovalrequest = new preapprovalrequest(); preapprovalrequest.setrequestenvelope(requestenvelope);  preapprovalrequest.setcurrencycode("usd"); preapprovalrequest.setstartingdate("2014-03-22"); preapprovalrequest.setendingdate("2015-03-22");  preapprovalrequest.setmaxamountperpayment(1.0); preapprovalrequest.setmaxnumberofpayments(5); preapprovalrequest.setmaxtotalamountofallpayments(5.0);  preapprovalrequest.setsenderemail("platfo_1255077030_biz@gmail.com"); preapprovalrequest.setcancelurl("https://devtools-    paypal.com/guide/ap_preapprove_payment?cancel=true"); preapprovalrequest.setreturnurl("https://devtools-  paypal.com/guide/ap_preapprove_payment?success=true"); preapprovalrequest.setipnnotificationurl("http://replaceipnurl.com");  map<string, string> sdkconfig = new hashmap<string, string>(); sdkconfig.put("mode", "sandbox"); sdkconfig.put("acct1.username", "jb-us-seller_api1.paypal.com"); sdkconfig.put("acct1.password", "wx4wtu3s8my44s7f"); sdkconfig.put("acct1.signature","afcwxv21c7fd0v3byyyrcpssrl31a7ydhhspuu2xhtmozxswhfxu-rwy"); sdkconfig.put("acct1.appid","app-80w284485p519543t");  adaptivepaymentsservice adaptivepaymentsservice = new  adaptivepaymentsservice(sdkconfig); preapprovalresponse preapprovalresponse = adaptivepaymentsservice.preapproval(preapprovalrequest);  

but error:

03-22 14:04:15.926: e/androidruntime(14824): fatal exception: main 03-22 14:04:15.926: e/androidruntime(14824): process: com.example.provapaypal, pid: 14824 03-22 14:04:15.926: e/androidruntime(14824): java.lang.exceptionininitializererror 03-22 14:04:15.926: e/androidruntime(14824):    @ com.paypal.core.sslutil.<clinit>(sslutil.java:40) 03-22 14:04:15.926: e/androidruntime(14824):    @ com.paypal.core.defaulthttpconnection.<init>(defaulthttpconnection.java:30) 03-22 14:04:15.926: e/androidruntime(14824):    @ com.paypal.core.connectionmanager.getconnection(connectionmanager.java:52) 03-22 14:04:15.926: e/androidruntime(14824):    @ com.paypal.core.apiservice.makerequestusing(apiservice.java:151) 03-22 14:04:15.926: e/androidruntime(14824):    @ com.paypal.core.baseservice.call(baseservice.java:258) 03-22 14:04:15.926: e/androidruntime(14824):    @ com.paypal.svcs.services.adaptivepaymentsservice.preapproval(adaptivepaymentsservice.java:699) 03-22 14:04:15.926: e/androidruntime(14824):    @ com.paypal.svcs.services.adaptivepaymentsservice.preapproval(adaptivepaymentsservice.java:662) 03-22 14:04:15.926: e/androidruntime(14824):    @ com.example.provapaypal.mainactivity.oncreate(mainactivity.java:62) 03-22 14:04:15.926: e/androidruntime(14824):    @ android.app.activity.performcreate(activity.java:5231) 03-22 14:04:15.926: e/androidruntime(14824):    @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1087) 03-22 14:04:15.926: e/androidruntime(14824):    @ android.app.activitythread.performlaunchactivity(activitythread.java:2159) 03-22 14:04:15.926: e/androidruntime(14824):    @ android.app.activitythread.handlelaunchactivity(activitythread.java:2245) 03-22 14:04:15.926: e/androidruntime(14824):    @ android.app.activitythread.access$800(activitythread.java:135) 03-22 14:04:15.926: e/androidruntime(14824):    @ android.app.activitythread$h.handlemessage(activitythread.java:1196) 03-22 14:04:15.926: e/androidruntime(14824):    @ android.os.handler.dispatchmessage(handler.java:102) 03-22 14:04:15.926: e/androidruntime(14824):    @ android.os.looper.loop(looper.java:136) 03-22 14:04:15.926: e/androidruntime(14824):    @ android.app.activitythread.main(activitythread.java:5017) 03-22 14:04:15.926: e/androidruntime(14824):    @ java.lang.reflect.method.invokenative(native method) 03-22 14:04:15.926: e/androidruntime(14824):    @ java.lang.reflect.method.invoke(method.java:515) 03-22 14:04:15.926: e/androidruntime(14824):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:779) 03-22 14:04:15.926: e/androidruntime(14824):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:595) 03-22 14:04:15.926: e/androidruntime(14824):    @ dalvik.system.nativestart.main(native method) 03-22 14:04:15.926: e/androidruntime(14824): caused by: java.security.nosuchalgorithmexception: keymanagerfactory sunx509 implementation not found 03-22 14:04:15.926: e/androidruntime(14824):    @ org.apache.harmony.security.fortress.engine.notfound(engine.java:177) 03-22 14:04:15.926: e/androidruntime(14824):    @ org.apache.harmony.security.fortress.engine.getinstance(engine.java:151) 03-22 14:04:15.926: e/androidruntime(14824):    @ javax.net.ssl.keymanagerfactory.getinstance(keymanagerfactory.java:77) 03-22 14:04:15.926: e/androidruntime(14824):    @ com.paypal.core.sslutil.<clinit>(sslutil.java:37) 03-22 14:04:15.926: e/androidruntime(14824):    ... 21 more 

looks you're trying use paypal java sdk on android. unfortunately, sdk never designed use on android, , fails because of dependency on sun sdk. see a similar issue here.


Comments

Popular posts from this blog

java - WrongTypeOfReturnValue exception thrown when unit testing using mockito -

php - Magento - Deleted Base url key -

android - How to disable Button if EditText is empty ? -