【发布时间】:2017-03-22 05:22:49
【问题描述】:
最近我尝试将 Acapture 处理器网关与我的应用程序集成。我的应用程序在 Java 1.7 版上运行。我收到 Acapture 付款请求超时异常:
java.util.concurrent.TimeoutException: Futures 在 [20000 毫秒] 后超时
但我在 Java 1.6 和 1.8 上得到了响应。它不适用于 Java 1.7。
Java 1.7 版
请求:
{ "action":"payment",
"header":{"businessId":"877777","additionalProperties":{}},
"body":{"transaction":{"trackingCode":"4381-65-0734","type":"SINGLE","brandId":"1010","amount":"52","currencyCode":"USD","countryCode":"US","additionalProperties":{}},
"card":{"holderName":"Sharon ","number":"4000000000000002","expiryMonth":"02","expiryYear":"2020","cvv":"123","additionalProperties":{}},
"additionalProperties":{}
},"additionalProperties":{}}
java.util.concurrent.TimeoutException: Futures 在 [20000 毫秒] 后超时 在 scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:96) 在 scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:58) 在 scala.concurrent.Await$$anonfun$ready$1.apply(package.scala:86) 在 scala.concurrent.Await$$anonfun$ready$1.apply(package.scala:86) 在 akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread$$anon$3.block(ThreadPoolBuilder.scala:173) 在 scala.concurrent.forkjoin.ForkJoinPool.managedBlock(ForkJoinPool.java:2803) 在 akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread.blockOn(ThreadPoolBuilder.scala:171) 在 scala.concurrent.Await$.ready(package.scala:86) 在 play.api.libs.concurrent.PlayPromise.await(Promise.scala:134) 在 play.libs.F$Promise.get(F.java:213) 在 play.libs.F$Promise.get(F.java:224) 在 com.kachyng.payment.gateway.acapture.service.AcapturePaymentService.processPaymentService(AcapturePaymentService.java:115) 在 com.kachyng.payment.gateway.acapture.service.AcapturePaymentService.makePaymentRequest(AcapturePaymentService.java:63) 在 com.kachyng.processor.ProcessorGateway.process(ProcessorGateway.java:222) 在 controllers.PaymentGateway.process(PaymentGateway.java:28) 在 Routes$$anonfun$routes$1$$anonfun$applyOrElse$9$$anonfun$apply$9.apply(routes_routing.scala:145) 在 Routes$$anonfun$routes$1$$anonfun$applyOrElse$9$$anonfun$apply$9.apply(routes_routing.scala:145) 在 play.core.Router$HandlerInvoker$$anon$6$$anon$2.invocation(Router.scala:193) 在 play.core.Router$Routes$$anon$1.invocation(Router.scala:373) 在 play.core.j.JavaAction$$anon$1.call(JavaAction.scala:50) 在 play.GlobalSettings$1.call(GlobalSettings.java:63) 在 play.core.j.JavaAction$$anon$2.apply(JavaAction.scala:80) 在 play.core.j.JavaAction$$anon$2.apply(JavaAction.scala:79) 在 play.libs.F$Promise$PromiseActor.onReceive(F.java:425) 在 akka.actor.UntypedActor$$anonfun$receive$1.applyOrElse(UntypedActor.scala:159) 在 akka.actor.ActorCell.receiveMessage(ActorCell.scala:425) 在 akka.actor.ActorCell.invoke(ActorCell.scala:386) 在 akka.dispatch.Mailbox.processMailbox(Mailbox.scala:230) 在 akka.dispatch.Mailbox.run(Mailbox.scala:212) 在 akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:502) 在 scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:262) 在 scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975) 在 scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1478) 在 scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)
Java 1.6 版:
回应:
{ "result":"0",
"description":"Ok",
"header":{"requestTimestamp":"2016-11-08T07:23:49Z","requestCode":"FES.201.ea00df08-2868-42c5-a792-16c9c24f1651"},
"body":{"transaction":{"action":"payment","id":"996e7ed3-8a52-4dc4-bc0e-7fc15adb4a70","trackingCode":"7622-31-9702","amount":"5.00","currencyCode":"USD","brandId":"1010","descriptor":"0235.2924.3298 Kachyng CC 3D"},"card":{"firstSixDigits":"400000","lastFourDigits":"0002","expiryMonth":"02","expiryYear":"2020","holderName":"Sharon Jda"}}
}
请帮我解决这个问题。
【问题讨论】: