• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Cybersource error on Coldfusion 9

Guest
Oct 08, 2009 Oct 08, 2009

Copy link to clipboard

Copied

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)

TOPICS
Advanced techniques

Views

10.2K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 17, 2009 Oct 17, 2009

Copy link to clipboard

Copied

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?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Nov 03, 2009 Nov 03, 2009

Copy link to clipboard

Copied

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Nov 07, 2009 Nov 07, 2009

Copy link to clipboard

Copied

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jan 28, 2010 Jan 28, 2010

Copy link to clipboard

Copied

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Valorous Hero ,
Feb 05, 2010 Feb 05, 2010

Copy link to clipboard

Copied

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

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 06, 2010 Feb 06, 2010

Copy link to clipboard

Copied

What, you mean the stuff one can download from here:

http://apps.cybersource.com/cgi-bin/pages/dev_kits.cgi?kit=Java/All_Platforms ?

checkout.cfm ran fine... but then again it's just a form.  checkout2.cfm errors with:

Object Instantiation Exception.
Class not found: CyberSource

This is a bit odd, because it is there in cybs-cfm.jar.

Still... I don't know exactly what your expectations are of this test you're asking people to run...?

--

Adam

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Valorous Hero ,
Feb 06, 2010 Feb 06, 2010

Copy link to clipboard

Copied

What, you mean the stuff one can download from here:

http://apps.cybersource.com/cgi-bin/pages/dev_kits.cgi?kit=Java/All_Platforms ?

Yep, the Simple Order API. My request was really directed to others in the thread already with familiar with the setup and issues. That and lack of sleep account for the glaring absence of details. But thanks for testing it with so little information to go on.

Still... I don't know exactly what your expectations are of this test you're asking people to run...?

I  was trying to get cybersource working w/Tomcat 6 and was also  experiencing problems.  Adding all five jars (not just four) to  WEB-INF\lib seemed to resolve it.  I was curious if that change had any impact  on other configurations.  As presumably, the majority of people are not  using Tomcat.

Class not found: CyberSource
This is a bit odd, because it is there in cybs-cfm.jar.

ClassNotFoundException or NoClassDefFoundError?  NoClassDefFoundError usually means the class loader is having a problem  loading the class's "definition" for some reason, not that it cannot  find the physical class. I was receiving a lot of  NoClassDefFoundError's at first. But since cybersource and CF seem to share  several libraries (rsa, xalan and xerces) I was not really surprised.

Anyway, I finally caved in and installed a fresh copy of CF9 + built-in web server this morning. Lo-and-behold installing the jars exactly as described in the readme file worked.  Explicitly adding the jars to the java.class.path in jvm.config seemed to be the critical difference.  For what it is worth, here is what I ended up with.

{cf_root}\WEB-INF\lib:

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

jvm.config snippet (abs. paths for clarity)

# JVM classpath
java.class.path={application.home}/servers/lib,{application.home}/../lib/macromedia_drivers.jar,{application.home}/lib/cfmx_mbean.jar,{application.home}/../lib/oosdk/classes,{application.home}/../lib/oosdk/lib,{application.home}/lib,C:/dev/ColdFusion9/wwwroot/WEB-INF/lib/cybs-cfm.jar,C:/dev/ColdFusion9/wwwroot/WEB-INF/lib/cybsclients15.jar,C:/dev/ColdFusion9/wwwroot/WEB-INF/lib/cybssecurity.jar,C:/dev/ColdFusion9/wwwroot/WEB-INF/lib/xercesImpl.jar

Message was edited by: -==cfSearching==-

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Valorous Hero ,
Feb 06, 2010 Feb 06, 2010

Copy link to clipboard

Copied

... w/Tomcat 6 ...Adding all five jars (not just four) to  WEB-INF\lib seemed to resolve it.

BTW: Being a relative Tomcat novice, I am not sure that was the right way to go. Just that it seems to be working so far.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Feb 08, 2010 Feb 08, 2010

Copy link to clipboard

Copied

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"

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 07, 2010 Oct 07, 2010

Copy link to clipboard

Copied

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?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 07, 2010 Oct 07, 2010

Copy link to clipboard

Copied

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.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 07, 2010 Oct 07, 2010

Copy link to clipboard

Copied

Here is some info on the .jar file I mentioned (jsafeFIPS.jar):

This jar file  implements RSA standards for FIPS compliance. I am not sure what cold fusion is  using it for.

Let us know how it goes.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Oct 07, 2010 Oct 07, 2010

Copy link to clipboard

Copied

We have it working on 9.01 without doing any changes or deleting any libraries from the original coldfusion installation.

Our environment is:

  • Windows 2008R2 x64.
  • Using IIS.
  • IIS application pool running 32 bits.
  • Coldfusion 9.01 installed as 32 bits.
  • We choose to put cybersource libraries in C:/ColdFusion9/cfx/java

Things to keep in mind when installing Cybersource under the previous environment.

  • Cybersource libraries location is not relevant
  • You don't need to delete or update any CF library. It works with the original installation.
  • CF MUST be 32 bits.
  • IIS Application Pool MUST be in 32bits.
  • The most important.. Set the cybersource library paths in C:\ColdFusion9\runtime\bin\jvm.config
  • In jvm.config SET (careful the paths are for our environment only):
    # JVM classpath
    java.class.path={application.home}/servers/lib,{application.home}/../lib/macromedia_drivers.jar,{application.home}/lib/cfmx_mbean.jar,{application.home}/../lib/oosdk/classes,{application.home}/../lib/oosdk/lib,{application.home}/lib,C:/ColdFusion9/cfx/java/cybsclients15.jar,C:/ColdFusion9/cfx/java/cybssecurity.jar,C:/ColdFusion9/cfx/java/xercesImpl.jar,C:/ColdFusion9/cfx/java/cybs-cfm.jar

We have been using the mentioned configuration in production without issues.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 07, 2010 Oct 07, 2010

Copy link to clipboard

Copied

Thanks for the quick responses.  I tried removing jsafeFIPS.jar, restarted CF and got the following error:

error ROOT CAUSE:
java.lang.NoSuchMethodError: com.rsa.jsafe.CryptoJ.isFIPS140Compliant()Z
    at com.rsa.certj.CertJ.isFIPS140Compliant(Unknown Source)

So I put that file back then I downloaded the most recent java API from cybersource thinking that mght help.  Then I tried submitting with that (after making my key file path change, etc.) and I'm still getting the same error in the logs:

error (JRun Service: ProxyService [jrun.servlet.jrpp.JRunProxyService@fde0d5]) JRunPRoxyServer.invokeRunnable:
java.lang.IllegalStateException

error ROOT CAUSE:
java.lang.NoClassDefFoundError: Could not initialize class com.cybersource.ws.client.Signature
    at com.cybersource.ws.client.Client.soapWrapAndSign(Client.java:200)

I made sure the class paths were in jvm.config.  Our server originally had CF8 on it, which I uninstalled before installing CF9.  I'm not sure why that would be an issue though.  EstebanD, did you install CF9 on a brand new server or did your server have an earlier version of CF on that server at one point?

It wish Cybersource was more help.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Oct 07, 2010 Oct 07, 2010

Copy link to clipboard

Copied

Try putting cybersource libraries on a different path like: C:/ColdFusion9/cfx/java and set  jvm.config accordingly.

We did both installing over CF7 and fresh install both worked. Never tried CF8 to CF9.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Valorous Hero ,
Oct 07, 2010 Oct 07, 2010

Copy link to clipboard

Copied

  • The most important.. Set the cybersource library paths in

C:\ColdFusion9\runtime\bin\jvm.config

Yes, that was the critical difference for me.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Oct 07, 2010 Oct 07, 2010

Copy link to clipboard

Copied

Apparently when you add items to the class path through the Administrator it puts the paths into the jvm.config file but puts them under jvm arguments instead of jvm classpath.  Is this a bug in CF9?  I don't know why it would add them to the arguments to vm.

Anywho, that fixed it for me.  Thanks everyone for the help.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 29, 2010 Oct 29, 2010

Copy link to clipboard

Copied

How do you even add a path via the administrator. I have some docs that tell me:

--
Add the absolute path to imagecr3.jar, in the installation directory, to your
"ColdFusion Class Path" path in the CF Administrator. You will find this under "Server Settings",
then "Java and JVM"
---

and there is NO SUCH SETTING that I can see in the CF Admin.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Valorous Hero ,
Oct 29, 2010 Oct 29, 2010

Copy link to clipboard

Copied

What version and edition of ColdFusion are you using?

I also do not see a Java and JVM section on my ColdFusion.  I suspect it is because I am using the Enterprise - Multihome edition and this edition is set up as servers under a JRun4 java configuration rather then a JRun4 runtime inside a ColdFusion configuration which is what happens for the more common standard|stand-alone editions.

As such, I suspect configuring JVM configurations is a more manual process of editing the appropiate files under the JRun4 directories as there are many more possible permutations in this type of setup.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Valorous Hero ,
Oct 29, 2010 Oct 29, 2010

Copy link to clipboard

Copied

It should mention (somewhere..) that is for server configurations only. I believe multi server configurations have a separate tool for modifying the jvm settings (?). Either way, the settings are stored in jvm.config. So you can always modify that file manually. But be sure to make a backup first. If you mess it up, your server might not start.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 29, 2010 Oct 29, 2010

Copy link to clipboard

Copied

Hi, thanks for the response guys.... I'm running:

Version 9,0,0,251028

Edition Enterprise

And I have in fact tried modifying: C:\JRun4\bin\jvm.config

I just need to add a single jar file... and it strips out my slashes... so, by the time I see it in the CF admin (path/settings, etc) it looks like:

C:JRun4serverslibimagecr3.jar;

Jason

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Valorous Hero ,
Oct 29, 2010 Oct 29, 2010

Copy link to clipboard

Copied

You need to escape the slashes "
", or even better use "/" instead.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Oct 29, 2010 Oct 29, 2010

Copy link to clipboard

Copied

-==cfSearching==- wrote:

You need to escape the slashes "
", or even better use "/" instead.

Thanks for the help... I need to clarify... between the spaces ad the escaping, I'm  a mess

Here is what I think I am wanting in the jvm.config file. How's this look to you?

java.class.path="C:"\"Program Files (x86)"\"Efflare"\"ImageCR3Service"

Thanks.


Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Valorous Hero ,
Oct 29, 2010 Oct 29, 2010

Copy link to clipboard

Copied

>> java.class.path="C:"\"Program Files (x86)"\"Efflare"\"ImageCR3Service"

I do not remember if you have to quote the spaces. But if you did, it would only be one set of quotes around the whole path.

I am not near an example at the moment. But try something like:

C:\\Program Files (x86)\\Efflare\\ImageCR3Service\\

... or

C:/Program Files (x86)/Efflare/ImageCR3Service/

Message was edited by: -==cfSearching==-

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation