2 Replies Latest reply on Feb 7, 2008 11:16 AM by nonpr

    .net Integration - System.Messaging

      I've been trying to do some CF to .Net integration and I'm having some issues getting CF to recognize the System.Messaging assembly.

      I have tried various examples I've found online that use System.IO.DriveInfo, System.Diagnostics.Process, and System.Globalization.CultureTypes. These all seem to work fine. One thing that I've noticed is that the ones that work are not in the GAC, and the one that doesn't work, is in the GAC. I'm not the strongest .Net guy, so I'm not sure the relevance of the GAC or this observation.

      I've tried the following to get this to work...


      When I try to create my object, using the following code, it gives the following error:

      <cfobject name = "obj_SystemMessaging"
      class = "System.Messaging"
      type = ".net" >

      Class System.Messaging not found in the specified assembly list.
      The assembly that contains the class must be provided to the assembly attribute.


      Then, when I add the assembly path as follows, it gives the same error:

      <cfobject name = "obj_SystemMessaging"
      class = "System.Messaging"
      assembly =
      atype = ".net" >

      I've also tried using the mscorlib.dll as the assembly. That didn't seem to make a difference.


      I found this link:


      I've tried to add the following line to the JNBDotNetSide.exe.config file and restarted the CF .Net service:

      <assembly file="System.Messaging, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

      That didn't seem to make a difference.


      I found the following in the jnbproxy.exe.config file (I'm not sure what it's for, but it seemed like a good sign that it was in there?):

      <assemblyIdentity name="System.Messaging" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
      <bindingRedirect oldVersion="" newVersion="1.0.3300.0"/>

      One thing that I did notice was that the version doesn't match the one I have for either .Net 1.4 or 2.0. Not sure what to make of that.


      The other thing that I've tried from the above link was the jnbproxyGui.exe tool. I added the "C:\WINNT\Microsoft.NET\Framework\v2.0.50727\" directory to the "Edit Assembly List". I then followed the rest of the instructions to add the System.Messaging.dll file, create the JAR file (which ended up including
      652 items), and placed it on the CF server, restarted both the main CF and the CF .Net services, and then tried the following:

      <cfobject name = "obj_SystemMessaging"
      class = "System.Messaging"
      assembly = "D:\ColdFusion8\jnbridge\resources\ANI_NIAC_Web.jar"
      type = ".net" >

      The result was the same error.


      To sum up, .net integration is working to sum extent because I can successfully run some of the examples I found online. However, it won't run the class that I actually need.

      Anyone have any ideas?

      Thanks in advance...