If anyone has experience/insight with integrating ECXpert with MQSeries that they are willing to share could you please contact me. We are running 3.6.1 on Solaris. We have looked at the Operations Guide that describes the process, but we want to get an idea how easily this is done and if there is anything to watch out for before we begin.
Thanks in Advance,
Bill - firstname.lastname@example.org
We tried using the standard Legacy Server (MQSeries) outgoing protocol to send but we are running into some ECX/MQ errors. Outside of ECX we can successfully send a message to the queue using amqsputc, but when we use ECX the following appears in the AMQERR01.LOG:
AMQ6119: An internal MQSeries error has occurred ('Invalid argument' from shmget.)
AMQ6175: The system could not dynamically load the library /opt/mqm/lib/amqcctca. The error message was ld.so.1: /app/ns-home/ecxpert/NS-apps/ECXpert/bin/legacyroled: fatal: relocation error:
file /opt/mqm/lib/amqcctca: symbol xihProcess: referenced symbol not found.
In ECXpert.log.legacyserver.dat we see:
8810:MQSeriesRole::Connect-MQCONN failed with MQSeries reason code : 2059, refer to ECXPert or MQSeries documentation to get the corresponding message string
Any help with this would be much appreciated.
Looks like you have not set the LD_LIBRARY_PATH properly in your ECX environment. Please make sure that you have set it correctly and are able to use amqsputc using the same Unix user as ECXpert.
On a separate note, as Stacy mentioned, it is better to use the JMS connectors for MQSeries connectivity from within ECXpert. My experience with Legacy MQSeries connectors has been relatively more problematic.
Reason Code 2059 in MQSeries implies that the Queue Manager is not available for connection. But the AMQ6175 message does indicate a failure is being able to load a library (/opt/mqm/lib/amqcctca). What version of MQSeries is the customer using ?
Prior to 3.6.* (no JMS), we wound up writing C programs to the MQ API. We defined the PUT programs as user-defined-* protocols in the ecx.ini file (it called a shell script that set up the environment & called the program). As for the receive side, all of our queues are trigger queues (from several mainframe environments). The trigger program is actually a script which figures out which queue has data & which program to run - that program is subsequently run. We have various character set requirements etc. We even had to write a special set of programs to overcome MQs message size limitation!!!
All this was done way back in ECXpert 3.0 when it was still an iPlanet product - we have not gone back to the baked-in MQ support....