MSMQ produce/consume

I’m required to talk to a legacy system using MSMQ, I can do this with standalone python (-v 3…) codes and pywin32 libraries, but have trouble installing the package on Ignition (being jython -v 2.7…), any idea what other library/package I can use? tx.

It sounds like those Python packages use native libraries, which wouldn’t work with Jython anyway.

If you google a bit for MSMQ Java libraries you’ll find a commercial option and a couple pretty old open source options. Can’t vouch for any of them.

Thanks for the reply Kevin,

@Kevin.Herron
I found some libraries which works fine outside ignition, with 32 bit jdk and dll
but I get error obviously when importing,
what is the work around this? is there any way to make it work, without the need to change the whole ignition installation to 32 bit? thanks for the help

Not sure, I thought maybe a 32-bit DLL would work in a 64-bit JVM but not the other way around.

If you’re on Ignition 7.9 we do still ship a 32-bit version. Ignition 8 drops 32-bit x86 support.

No, I am unfortunately on 8.1.2,

I am not an avid java developer, but what I see here, even in eclipse, if I use a 64 bit jdk as the build library, it fails with:
Error: Can’t load IA 32-bit .dll on a AMD 64-bit platform

Sorry, this DLL/library is not the solution to your problem then.

You might need to build or buy a custom solution that goes in between Ignition and MSMQ and speaks something suitably modern on the Ignition-facing side. I don’t know exactly what that would look like, but if it could expose RESTful HTTP endpoints it would be pretty easy to get that data into Ignition. Not sure how well that maps to whatever data model MSMQ uses.

Thanks, could you expand please a little bit in more details on the RESTful idea, my legacy system only talks MSMQ, are you suggesting that I build something like: MSMQ <<>> RESTfull <<>> Ignition ?

Yes, and you’d build in .NET or some other language where you would have no problem communicating with MSMQ.

1 Like

Ok, thanks, although, I was hoping to contain all my code within Ignition to avoid maintaining a separate piece, but it seems I might not have many choices.

Thank you again Kevin for taking your time and advices, very much appreciated.

For all those who might be interested in this topic, for this specific need, the link below contains java libraries as well as associated 64 bit dll bridge to talk to MSMQ, which you can import and use with ignition.

It can be downloaded from:

P.S. Obviously it goes without saying that neither I, nor the source, would offer any guarantee on this code. This is only used as a temporary patch until replacing the legacy system :slight_smile:

1 Like