Tuesday, May 04, 2010

ColdFusion .NET Integration Service on Multi-Server configuration

If you try to use the coldfusion dotnet integration that comes with CF8 and up on a multi-server instance of ColdFusion, you may encounter a java.lang.ClassNotFoundException error.

This is especially true when you run your app under the non-admin instance (ie you create a new instance and run the app under this new instance of CF).

The cause becomes obvious when you look at the error.log file in the "ColfFusion8DotNetservice" folder.

.NET exception = System.IO.FileNotFoundException

.NET exception message = Could not find file 'C:\JRun4\servers\MM2\cfusion.ear\cfusion.war\WEB-INF\cfusion\lib\dotnet_coreproxy.config'.

.NET-side stack trace = at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)

at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)

at com.jnbridge.jnbproxy.JNBProxy.Main(String[] args)

The missing dotnet_coreproxy.config file can be found in the default install of CF. which would typically be C:\JRun4\servers\cfusion\cfusion.ear\cfusion.war\WEB-INF\cfusion\lib\dotnet_coreproxy.config

Just locate the file and copy it over to the new location. This should resolve the issue.

Web technology solutions for small and medium enterprises.