We have a site in ColdFusion that integrates with a credit card provider using Java components.
When calling a specific function for a java object:
<cfset ResponseObject = AgentObject.request(RequestObject, LogObject)>
Where ResponseObject, AgentObject, and LogObject is a Java object created as:
<cftry> <cfset AgentObject = createObject("java","com.providername.client.Agent")> <cfcatch type="any"> Do something. </cfcatch> </cftry>
The page displays the following: execution paused.
<head> <title>JRun Servlet Error</title> </head> <h1>500 Transaction fails verification<br> BadRequest: Request fails verification checks<br> BadCardNumber: Card length was 16, but we were expecting 0<br> </h1> <body> Transaction fails verification<br> BadRequest: Request fails verification checks<br> BadCardNumber: Card length was 16, but we were expecting 0<br> </body>
An error is expected (we are checking the card data), but it seems I can’t catch it. A cftry and cfcatch has no effect, so I totally don’t understand how I can handle this error and continue execution.
Can anyone help?
Greetings
Tom
Edit - additional error information
I thought it might also be useful to post this stack trace. It is not available through Coldfusion, but is instead written to the file as part of the LogObject above, presumably in Java code:
com.providername.client.errors.VerifyErrorReport: Transaction fails verification com.providername.client.errors.BadRequest: Request fails verification checks com.providername.client.errors.BadCardNumber: Card length was 16, but we were expecting 0 at com.providername.util.CardInfo.verifyCardNumber(CardInfo.java:412) at com.providername.util.CardInfo.validateCardInfo(CardInfo.java:789) at com.providername.util.CardInfo.validateCardInfo(CardInfo.java:838) at com.providername.client.Agent.setupTransaction(Agent.java:681) at com.providername.client.Agent.setupTransaction(Agent.java:692) at com.providername.client.Agent.request(Agent.java:281) at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at coldfusion.runtime.java.JavaProxy.invoke(JavaProxy.java:74) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1634) at cfprovidername2ecfc526409752$funcSENDXMLOBJECT.runFunction(D:\site\components\providername.cfc:210) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:344) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:290) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:169) at coldfusion.runtime.CfJspPage._invokeUDF(CfJspPage.java:1807) at cftransactions2ecfc114461696$funcTRANSACTION.runFunction(D:\site\components\transactions.cfc:175) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:344) at coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) at coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:290) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:254) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:56) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:207) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:366) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:198) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:157) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1594) at coldfusion.tagext.lang.InvokeTag.doEndTag(InvokeTag.java:341) at cfauthorise2dprovidername2ecfm1546743078._factor7(D:\site\payment\authorise-providername.cfm:224) at cfauthorise2dprovidername2ecfm1546743078._factor27(D:\site\payment\authorise-providername.cfm:164) at cfauthorise2dprovidername2ecfm1546743078._factor30(D:\site\payment\authorise-providername.cfm:91) at cfauthorise2dprovidername2ecfm1546743078.runPage(D:\site\payment\authorise-providername.cfm:1) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:349) at coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:1915) at cfauthorise2ecfm767248619.runPage(D:\site\payment\authorise.cfm:10) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:349) at coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:1915) at cftemplate2ecfm1091873885._factor4(D:\site\server\template.cfm:247) at cftemplate2ecfm1091873885.runPage(D:\site\server\template.cfm:1) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:349) at coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:1915) at cfapplication2ecfm1526755454._factor31(D:\site\application.cfm:673) at cfapplication2ecfm1526755454.runPage(D:\site\application.cfm:1) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:349) at coldfusion.runtime.CfJspPage._emptyTag(CfJspPage.java:1915) at cfApplication2ecfm1608241748.runPage(D:\site\payment\Application.cfm:30) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:349) at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) at coldfusion.filter.CfincludeFilter.include(CfincludeFilter.java:33) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:172) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:51) at coldfusion.filter.PathFilter.invoke(PathFilter.java:86) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:69) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:115) at coldfusion.CfmServlet.service(CfmServlet.java:107) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:78) at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91) at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:257) at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541) at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:204) at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:318) at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:426) at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:264) at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
Loftx source share