Skip to main content
October 8, 2009
Question

Cybersource error on Coldfusion 9

  • October 8, 2009
  • 5 replies
  • 11005 views

We are trying to upgrade to Coldfusion 9 but we can't upgrade our cybersource implementation. We keep getting an error related to RSA libraries. I wonder if CF 9 includes some new libraries that have a conflict with Cybersource. Any ideas?

Error StackTrace:

java.lang.NoSuchMethodError: com.rsa.jsafe.CryptoJ.isFIPS140Compliant()Z

at com.rsa.certj.CertJ.isFIPS140Compliant(Unknown Source)

at com.rsa.certj.CertJ.(Unknown Source)

at com.cybersource.security.SecurityContextJava.(SecurityContextJava.java:155)

at com.cybersource.security.SecurityContext.getInstance(SecurityContext.java:31)

at com.cybersource.ws.client.Signature.internalInitializeContext(Signature.java:104)

at com.cybersource.ws.client.Signature.(Signature.java:39)

at com.cybersource.ws.client.Client.soapWrapAndSign(Client.java:200)

at com.cybersource.ws.client.Client.runTransaction(Client.java:103)

at com.cybersource.ws.client.Client.runTransaction(Client.java:53)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at coldfusion.runtime.java.JavaProxy.invoke(JavaProxy.java:97)

at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)

This topic has been closed for replies.

5 replies

May 4, 2012

Has anyone got CyberSource working at all on 64-bit ColdFusion/Windows Server?  I am at the end of my rope here, and not sure what else to do... I've tried everything and that seems to be the only thing in conflict withe EstabanD's setup.  I am getting the "com.rsa.jsafe.CryptoJ.isFIPS140Compliant()Z" error.

Inspiring
May 4, 2012

I believe you need to use Cybersource's SOAP API for all 64bit OS.  I don't believe their Simple Order API works on 64bit, windows or linux.  I have SOAP running on 64 bit linux, and just create the xml and use cfhttp to post it to cybersource's server.  Let me know if you want me to PM the code. 

May 4, 2012

That would be AWESOME! Thanks!!

you can reach me at brainboxbill at gmail. Thanks!!

-Bill

Inspiring
October 7, 2010

I'm also having a problem getting Coldfusion 9 and the Cybersource API to work together.  I tried adding the 4 jars to the WEB_INF folder under Coldfusion as mentioned in this thread but its still not working.  Cybersource support basically said I'm on my own with this.  I see the following in the coldfusion-event log:

On CF Startup:

error ROOT CAUSE:
java.lang.NoSuchMethodError: com.rsa.jsafe.CryptoJ.isFIPS140Compliant()Z
    at com.rsa.certj.CertJ.isFIPS140Compliant(Unknown Source)
    at com.rsa.certj.CertJ.<init>(Unknown Source)
    at com.cybersource.security.SecurityContextJava.<init>(SecurityContextJava.java:155)
    at com.cybersource.security.SecurityContext.getInstance(SecurityContext.java:31)
    at com.cybersource.ws.client.Signature.internalInitializeContext(Signature.java:104)
    at com.cybersource.ws.client.Signature.<clinit>(Signature.java:39)
    at com.cybersource.ws.client.Client.soapWrapAndSign(Client.java:200)
    at com.cybersource.ws.client.Client.runTransaction(Client.java:103)
    at com.cybersource.ws.client.Client.runTransaction(Client.java:53)
    at CyberSource.runTransaction(CyberSource.java:32)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at coldfusion.runtime.java.JavaProxy.invoke(JavaProxy.java:97)
    at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)
    at cfcheckout22ecfm959397778.runPage(C:\cybersource\simapi-java-5.0.2\coldfusion\samples\nvp\checkout2.cfm:33)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:231)
    at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416)
    at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
    at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:363)
    at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
    at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
    at coldfusion.filter.PathFilter.invoke(PathFilter.java:87)
    at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
    at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:74)
    at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
    at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
    at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
    at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
    at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:53)
    at coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:126)
    at coldfusion.CfmServlet.service(CfmServlet.java:200)
    at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
    at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
    at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
    at jrun.servlet.FilterChain.service(FilterChain.java:101)
    at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
    at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
    at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
    at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
    at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
    at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

javax.servlet.ServletException: ROOT CAUSE:
java.lang.NoSuchMethodError: com.rsa.jsafe.CryptoJ.isFIPS140Compliant()Z
    at com.rsa.certj.CertJ.isFIPS140Compliant(Unknown Source)
    at com.rsa.certj.CertJ.<init>(Unknown Source)
    at com.cybersource.security.SecurityContextJava.<init>(SecurityContextJava.java:155)
    at com.cybersource.security.SecurityContext.getInstance(SecurityContext.java:31)
    at com.cybersource.ws.client.Signature.internalInitializeContext(Signature.java:104)
    at com.cybersource.ws.client.Signature.<clinit>(Signature.java:39)
    at com.cybersource.ws.client.Client.soapWrapAndSign(Client.java:200)
    at com.cybersource.ws.client.Client.runTransaction(Client.java:103)
    at com.cybersource.ws.client.Client.runTransaction(Client.java:53)
    at CyberSource.runTransaction(CyberSource.java:32)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at coldfusion.runtime.java.JavaProxy.invoke(JavaProxy.java:97)
    at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)
    at cfcheckout22ecfm959397778.runPage(C:\cybersource\simapi-java-5.0.2\coldfusion\samples\nvp\checkout2.cfm:33)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:231)
    at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416)
    at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
    at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:363)
    at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
    at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
    at coldfusion.filter.PathFilter.invoke(PathFilter.java:87)
    at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
    at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:74)
    at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
    at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
    at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
    at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
    at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:53)
    at coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:126)
    at coldfusion.CfmServlet.service(CfmServlet.java:200)
    at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
    at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
    at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
    at jrun.servlet.FilterChain.service(FilterChain.java:101)
    at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
    at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
    at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
    at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
    at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
    at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

    at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:70)
    at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
    at jrun.servlet.FilterChain.service(FilterChain.java:101)
    at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
    at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
    at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
    at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
    at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
    at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

On Submission:

javax.servlet.ServletException: ROOT CAUSE:
java.lang.NoClassDefFoundError: Could not initialize class com.cybersource.ws.client.Signature
    at com.cybersource.ws.client.Client.soapWrapAndSign(Client.java:200)
    at com.cybersource.ws.client.Client.runTransaction(Client.java:103)
    at com.cybersource.ws.client.Client.runTransaction(Client.java:53)
    at CyberSource.runTransaction(CyberSource.java:32)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at coldfusion.runtime.java.JavaProxy.invoke(JavaProxy.java:97)
    at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360)
    at cfcheckout22ecfm959397778.runPage(C:\cybersource\simapi-java-5.0.2\coldfusion\samples\nvp\checkout2.cfm:33)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:231)
    at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416)
    at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
    at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:363)
    at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48)
    at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
    at coldfusion.filter.PathFilter.invoke(PathFilter.java:87)
    at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
    at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:74)
    at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
    at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
    at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
    at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
    at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:53)
    at coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:126)
    at coldfusion.CfmServlet.service(CfmServlet.java:200)
    at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
    at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
    at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
    at jrun.servlet.FilterChain.service(FilterChain.java:101)
    at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
    at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
    at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
    at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
    at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
    at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

    at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:70)
    at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
    at jrun.servlet.FilterChain.service(FilterChain.java:101)
    at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
    at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
    at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
    at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
    at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
    at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

I'm using the JVM that came with Cybersource under ColdFusion9/runtime/jre.  Should I be using a different JVM?  Everything was working fine under CF8 its just when we upgraded to CF9 that we hit a brick wall.  I'm on Windows Server 2003.

Anyone else get Cybersource API working with Coldfusion 9?

Participant
October 7, 2010

There is another .jar file (jsafeFIPS.jar) that you need to delete (and hope its not important) from the CF9 install. We got it working in a test environment but haven't done it in production since we wonder if the kludgy fix will cause other issues.  If Cybersource has decided not to support ColdFusion any longer the fix may be to get rid of Cybersource or run Cybersource from a server with CF7 or CF8.

February 8, 2010

This seems to be working. I read instructions but failed to follow these:

To add the CyberSource jar files to the CLASSPATH used by ColdFusion, edit the

file <coldfusion_dir>/runtime/bin/jvm.config and append the full path of the

following jar files to the value of "java.class.path":

We have been using cybersource libraries on CF 7 for over a year setting the class path in the "ColdFusion Class Path" box in the CF Administrator.

We will further test it before concluding is safe for production.

Thank you "cf searching"

BKBK
Community Expert
Community Expert
November 7, 2009
We are trying to upgrade to Coldfusion 9 but we can't upgrade our cybersource implementation. We keep getting an error related to RSA libraries. I wonder if CF 9 includes some new libraries that have a conflict with Cybersource. Any ideas?

I do indeed believe Coldfusion 9 introduces JARs containing new RSA libraries that conflict with the Cybersource code. It is likely that Cybersource has to update its libraries.

I would send the error stack trace to Cybersource Support, explaining that the error is so severe it makes their product unusable. That should get them interested. After all, their name features in the stack trace.

Participant
January 28, 2010

Has anyone found a solution to this? I'm going in circles with Cybersource and they cannot tell me anything. They cannot even say which versions of CF they support but clearly the issue here is they do not support Coldfusion 9.

Inspiring
February 6, 2010

Can someone running CF9 try a test for me on a _development_ box.

Put the following jars in  WEB-INF\lib and restart. Run the basic checkout.cfm example.

cybs-cfm.jar
cybsclients15.jar
cybssecurity.jar
xercesImpl.jar **
xalan.jar **

** Note: Use the versions provided by cybersource

Participant
October 17, 2009

Did you ever make any progress on this.  I'm running up against the same error, but I'm seeing it on CF 8 and 9.  What version are you using?

November 4, 2009

We haven't had any progress.

We contacted Adobe but they declined to provide any tech support unless I pay for it, and my initial impression was that they will refer to Cybersource in a infinite loop :-)

Cybersoure hasn't been helpful either. It seems that anyone who wants to run Cybersource with CF 9 would need to implement a .NET hack or use the COM libraries. In our case we decided not to upgrade to CF 9 until this problem is solved using the Java libraries.