2016-11-08 2 views
0

Недавно я попытался интегрировать процессорный шлюз Acapture с моим приложением. Мое приложение работает на Java версии 1.7. Я получил таймаут исключения для запроса оплаты Acapture:ACapture - служба шлюза платежей, не работающая в Java 7

java.util.concurrent.TimeoutException: Фьючерс истек после [20000 миллисекунд]

Но я получил ответ на Java 1.6 и 1.8. Он не работает на Java 1.7.

Java Version 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: Фьючерс истекло после [20000 миллисекунд] в scala.concurrent.impl.Promise $ DefaultPromise. ready (Promise.scala: 96) at scala.concurrent.impl.Promise $ DefaultPromise.ready (Promise.scala: 58) at scala.concurrent.Await $$ anonfun $ ready $ 1.apply (package.scala: 86) at scala.concurrent.Await $$ ano nfun $ ready $ 1.apply (package.scala: 86) at akka.dispatch.MonitorableThreadFactory $ AkkaForkJoinWorkerThread $$ anon $ 3.block (ThreadPoolBuilder.scala: 173) at 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. (Promise.scala: 134) at play.libs.F $ Promise.get (F.java:213) at play.libs.F $ Promise.get (F.java:224) at com.kachyng. payment.gateway.acapture.service.AcapturePaymentService.processPaymentService (AcapturePaymentService.java:115) at com.kachyng.payment.gateway.acapture.service.Acapt urePaymentService.makePaymentRequest (AcapturePaymentService.java:63) в com.kachyng.processor.ProcessorGateway.process (ProcessorGateway.java:222) в controllers.PaymentGateway.process (PaymentGateway.java:28) на маршрутах $$ anonfun $ маршрутов $ 1 $$ anonfun $ applyOrElse $ 9 $$ anonfun $ apply $ 9.apply (routes_routing.scala: 145) at Routes $$ anonfun $ routes $ 1 $$ anonfun $ applyOrElse $ 9 $$ anonfun $ apply $ 9.apply (routes_routing.scala: 145) at play.core.Router $ HandlerInvoker $$ anon $ 6 $$ anon $ 2.invocation (Router.scala: 193) at play.core.Router $ Маршруты $$ anon $ 1.invocation (Router.scala: 373) at play.core.j.JavaAction $$ anon $ 1.call (JavaAction.scala: 50) at play.GlobalSettings $ 1.call (GlobalSettings.java:63) at play.core.j.JavaAction $$ anon $ 2 .приложение ly (JavaAction.scala: 80) at play.core.j.JavaAction $$ anon $ 2.apply (JavaAction.scala: 79) at play.libs.F $ Обещание $ PromiseActor.onReceive (F.java:425) в akka.actor.UntypedActor $$ anonfun $ получить $ 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) at scala.concurrent.forkjoin.ForkJoinTask.doExec (ForkJoinTask.java:262) at scala.concurrent.forkjoin.ForkJoinPool $ WorkQueue. runTask (ForkJoinPool.java:975) at 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"}} 
} 

Пожалуйста, помогите мне решить это.

ответ

0

Получил ответ от службы технической поддержки Acapture. Согласно новому требованию PCI Acapture должна поддерживать только TLS 1.2. И Java 7 не поддерживает его. Это ограничение на Java. Acapture предложит использовать Java 8.

Смежные вопросы