com.paypal.core.rest.PayPalRESTException:读取超时
Posted
技术标签:
【中文标题】com.paypal.core.rest.PayPalRESTException:读取超时【英文标题】:com.paypal.core.rest.PayPalRESTException:Read timed out 【发布时间】:2014-06-06 10:57:59 【问题描述】:我在我的项目中使用贝宝付款。它适用于 visa 卡 和 mastercard 并且付款已成功完成。
private def doFinalPayment(payment: Payment, payer: Payer, accessToken: String): Payment =
val apiContext = new APIContext(accessToken)
var objPay=payment
apiContext.setConfigurationMap(sdkConfig)
try
objPay = objPay.create(apiContext)//Exception Occur here
// some code here...........
catch
case e: PayPalRESTException =>
println("EXCEPTION IN DO FINAL PAYMENT METHOD")
val msg = e.getMessage
println(e)
println(msg)
objPay
但是对于 American Express 和 Discover 卡,它给了我以下例外:
EXCEPTION IN DO FINAL PAYMENT METHOD
com.paypal.core.rest.PayPalRESTException:Read timed out
Read timed out
我正在使用这些库依赖......
"com.paypal.sdk" % "paypal-core" % "1.5.2",
"com.paypal.sdk" % "rest-api-sdk" % "0.7.1",
"com.paypal.sdk" % "invoicesdk" % "2.4.106",
"com.paypal.sdk" % "adaptivepaymentssdk" % "2.5.106",
"com.paypal.sdk" % "adaptiveaccountssdk" % "2.4.106",
"com.paypal.sdk" % "permissionssdk" % "2.3.106",
"com.stripe" % "stripe-java" % "1.7.1",
"com.sparkjava" % "spark-core" % "1.1.1",
"com.paypal.sdk" % "merchantsdk" % "2.1.96"
【问题讨论】:
你能提供更多细节吗? (完整的错误消息?有关异常的更多详细信息?)[Paypal API 文档][1] 中是否列出了错误?你为什么使用图书馆?根据您使用的标签(和代码 sn-p),我假设您使用 Scala 和 Play Framework。 [1]:developer.paypal.com/docs/classic/api/errorcodes/… 网址混在一起了。这个应该可以工作:developer.paypal.com/docs/classic/api/errorcodes 直到现在我还没有得到任何新的答案或想法 【参考方案1】:American Express 和 Discover 有时处理时间较长。如果您使用 REST SDK 作为基础,则 http.connectiontimeout 变量设置为 30 秒。您应该将其增加到至少 60(如果仍然超时,可能会更高)。
在 Scala 中,您可以设置 http.setRequestTimeoutInMs(6000) 将超时时间增加到 60 秒。
SDK 示例包含一个设置 APIContext 的 bootstrap.php 文件。
// Use an ApiContext object to authenticate
// API calls. The clientId and clientSecret for the
// OAuthTokenCredential class can be retrieved from
// developer.paypal.com
$apiContext = new ApiContext(
new OAuthTokenCredential(
'...',
'...'
)
);
// #### SDK configuration
// Comment this line out and uncomment the PP_CONFIG_PATH
// 'define' block if you want to use static file
// based configuration
$apiContext->setConfig(
array(
'mode' => 'sandbox',
'http.ConnectionTimeOut' => 30,
'log.LogEnabled' => true,
'log.FileName' => '../PayPal.log',
'log.LogLevel' => 'FINE'
)
);
http.ConnectionTimeOut 字段是您要查看的位置。将其设置为 60 或更高。
【讨论】:
@PayPal_MSI_Robert 我正在使用“com.paypal.sdk”%“rest-api-sdk”%“0.7.1”,必须更改 http.connectiontimeout,我没有进入哪个文件夹和文件我会得到这个变量。 编辑答案以包含示例。 @RishiDwivedi bootstrap.php 如何帮助他完成 Scala 项目?如果你只说需要设置哪些属性(如果可能的话,为什么以及它们会做什么)会更有帮助 @PayPal_MSI_Robert 没有帮助,我正在寻找同样的问题,请帮助 @PayPal_MSI_Robert 因为@Peanut 说我没有bootstrap.php
以上是关于com.paypal.core.rest.PayPalRESTException:读取超时的主要内容,如果未能解决你的问题,请参考以下文章