Skip to main content
March 4, 2011
Question

.NET Obfuscation error?

  • March 4, 2011
  • 1 reply
  • 702 views

Hi,

I have run across a problem using a 3rd party .NET assembly in ColdFusion. I believe that it is because it is obfuscated, but I have never used CF before so I'm hoping someone has seen a similar error.  I am just running a simple test to load the assembly and then use cfdump to see that is has loaded. The browser just displays a blank page but has the exception below in the installation\logs directory. In the example I use a test dll, TempLib.dll, which is just a simple class that inherits from a class in liquidXML. If I run a test that just loads the liquidxml dll and dump it then it works just fine.

Thanks for any help,

Bruce

ColdFusion Version: 9,0,0,251028 Developer

Server: W2k3 64B

WebServer: IIS6.0

<cftry>
    <cfobject action="Create"
                  type=".NET"
                  class="com.TempLib.Sample"
                  ASSEMBLY="C:\DLLs\TempLib.dll,C:\DLLs\LiquidTechnologies.Runtime.Net20.dll"
                  name="className">
    <cfset className.init()>
    <cfoutput>

        MyLiquidXML Sample:
        <cfdump label="TempLib.Sample Class Dump" var="#className#">
    </cfoutput>
    <cfcatch type="Any">
        <cfoutput>
            Exception caught: #cfcatch.message#
        </cfoutput>
    </cfcatch>
</cftry>

Exception:

"Error","web-2","03/04/11","09:11:44",,"Illegal method name "" "" in class LiquidTechnologies/Runtime/Net20/XmlObjectBase The specific sequence of files included or processed is: C:\ColdFusion9\wwwroot\MyLiquidXML_cfm.cfm, line: 6 "
java.lang.ClassFormatError: Illegal method name " " in class LiquidTechnologies/Runtime/Net20/XmlObjectBase
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
at coldfusion.runtime.dotnet.DynamicClassLoader.access$100(DynamicClassLoader.java:27)
at coldfusion.runtime.dotnet.DynamicClassLoader$1.run(DynamicClassLoader.java:108)
at java.security.AccessController.doPrivileged(Native Method)
at coldfusion.runtime.dotnet.DynamicClassLoader.findClass(DynamicClassLoader.java:99)
at coldfusion.runtime.dotnet.DynamicClassLoader.loadClass(DynamicClassLoader.java:83)
at coldfusion.runtime.dotnet.DynamicClassLoader.loadClass(DynamicClassLoader.java:60)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
at coldfusion.runtime.dotnet.DynamicClassLoader.access$100(DynamicClassLoader.java:27)
at coldfusion.runtime.dotnet.DynamicClassLoader$1.run(DynamicClassLoader.java:108)
at java.security.AccessController.doPrivileged(Native Method)
at coldfusion.runtime.dotnet.DynamicClassLoader.findClass(DynamicClassLoader.java:99)
at coldfusion.runtime.dotnet.DynamicClassLoader.loadClass(DynamicClassLoader.java:83)
at coldfusion.runtime.dotnet.DynamicClassLoader.loadClass(DynamicClassLoader.java:60)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
at coldfusion.runtime.dotnet.DynamicClassLoader.access$100(DynamicClassLoader.java:27)
at coldfusion.runtime.dotnet.DynamicClassLoader$1.run(DynamicClassLoader.java:108)
at java.security.AccessController.doPrivileged(Native Method)
at coldfusion.runtime.dotnet.DynamicClassLoader.findClass(DynamicClassLoader.java:99)
at coldfusion.runtime.dotnet.DynamicClassLoader.loadClass(DynamicClassLoader.java:83)
at coldfusion.runtime.dotnet.DynamicClassLoader.loadClass(DynamicClassLoader.java:60)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
at coldfusion.runtime.dotnet.DynamicClassLoader.access$100(DynamicClassLoader.java:27)
at coldfusion.runtime.dotnet.DynamicClassLoader$1.run(DynamicClassLoader.java:108)
at java.security.AccessController.doPrivileged(Native Method)
at coldfusion.runtime.dotnet.DynamicClassLoader.findClass(DynamicClassLoader.java:99)
at coldfusion.runtime.dotnet.DynamicClassLoader.loadClass(DynamicClassLoader.java:83)
at coldfusion.runtime.dotnet.DynamicClassLoader.loadClass(DynamicClassLoader.java:60)
at coldfusion.runtime.dotnet.Assembly.loadClass(Assembly.java:236)
at coldfusion.runtime.dotnet.Assembly.loadClass(Assembly.java:223)
at coldfusion.runtime.dotnet.DotNetProxyFactory.getProxy(DotNetProxyFactory.java:78)
at coldfusion.runtime.ProxyFactory.getProxy(ProxyFactory.java:65)
at coldfusion.runtime.CFPage.createObjectProxy(CFPage.java:4949)
at coldfusion.tagext.lang.ObjectTag.doStartTag(ObjectTag.java:427)
at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2722)
at cfMyLiquidXML_cfm2ecfm2141954130.runPage(C:\ColdFusion9\wwwroot\MyLiquidXML_cfm.cfm:6)
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.LicenseFilter.invoke(LicenseFilter.java:27)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
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.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.http.WebService.invokeRunnable(WebService.java:172)
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)

    This topic has been closed for replies.

    1 reply

    Upen1
    Inspiring
    March 10, 2011

    Hi ,

    I don't the exact answar of your query but I think the following url could help you.

    http://www.coldfusionjedi.com/index.cfm/2006/10/24/ColdFusion-Net-Integration

    Thanks