2016-11-08 8 views
0

최근에 내 응용 프로그램과 Acapture 프로세서 게이트웨이를 통합하려고했습니다. Java 버전 1.7에서 실행되는 내 응용 프로그램. 나는 Acapture 지급 요청에 대한 시간 제한 예외를 가지고 :Acapture - Java 7에서 지불 게이트웨이 서비스가 작동하지 않습니다.

java.util.concurrent.TimeoutException : 선물은

[20000 밀리 초] 후 시간 초과하지만 자바 1.6와 1.8에 응답을 얻었다. Java 1.7에서는 작동하지 않습니다.

자바 버전 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에서 . scala.concurrent.impl.Promise $ DefaultPromise.ready (Promise.scala : 58) at scala.concurrent.Await $$ anonfun $ ready $ 1.apply (package.scala : 86)을 준비하십시오. scala.concurrent.Await $$ ano에 nfun $ 준비 $ 1.apply (package.scala : 86) akka.dispatch.MonitorableThreadFactory $ AkkaForkJoinWorkerThread $$ 곧 $ 3.block (ThreadPoolBuilder.scala : 173)에서 scala.concurrent.forkjoin.ForkJoinPool.managedBlock에서 (ForkJoinPool.java : 2803) at akka.dispatch.MonitorableThreadFactory $ AkkaForkJoinWorkerThread.blockOn (ThreadPoolBuilder.scala : 171) at scala.concurrent.Await $ .ready (package.scala : 86) at play.api.libs.concurrent.PlayPromise. play.libs.F $ Promise.get (F.java:213) play.libs.F $ Promise.get (F.java:224) com.kachyng에서 에서 에서 (Promise.scala 134)을 기다린다. payment.gateway.acapture.service.AcapturePaymentService.processPaymentService (AcapturePaymentService.java:115) at com.kachyng.payment.gateway.acapture.service.Acapt urePaymentService.makePaymentRequest (AcapturePaymentService.java:63) 경로 $$ anonfun의 $ 노선에서 controllers.PaymentGateway.process (PaymentGateway.java:28) 에서 com.kachyng.processor.ProcessorGateway.process (ProcessorGateway.java:222) 에서 $ 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 $ Routes $$ 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 $ Promise $ PromiseActor.onReceive (F.java:425) akka.actor.ActorCell.invoke에서 (ActorCell : akka.actor.ActorCell.receiveMessage (425 ActorCell.scala)에 : akka.actor.UntypedActor $$ anonfun $에서 은 $ 1.applyOrElse (UntypedActor.scala 159)를 수신한다. 스칼라 : 386) akka.dispatch.Mailbox.processMailbox (Mailbox.scala : 230) at akka.dispatch.Mailbox.run (Mailbox.scala : 212) at akka.dispatch.ForkJoinExecutorConfigurator $ MailboxExecutionTask.exec (AbstractDispatcher. scala : 502) (scala.concurrent.forkjoin.ForkJoinPool $ WorkQueue) .ForkJoinTask.doExec (ForkJoinTask.java:262) 에 있습니다. (ForkJoinPool.java:975) runTask자바 : 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을 사용할 것을 제안합니다.