DirectMQ WmqUtils.dll Library to Connect to IBM WebSphere

Hi,

We are upgrading our BPM Metastorm from version 7.5 to 7.6.

There is a .xel file which we need to publish. We require it to connect to IBM WebSphere.

We tried to imitate whatever we have in the old server, where the application is installed. What we realized is that, there is a dll file called WmqUtils.dll. It is placed in the following path:

C:\Program Files\Metastorm BPM\Engine\dotnetbin

We copied the dll WmqUtils.dl to the new server and placed it in the same path. But, with no avail. The problem still exists when we tried to publish the .xel file. This is the error that we are getting:

Validating library DirectMQLibrary Error - - The script "DirectMQ"
has errors Error - Validation failed

I would appreciate if someone can help us. Any advice would be highly appreciated.

This .xel has got the following JSCript.net name DirectMQ. Code as below:

import System;
import eWork.Engine.ScriptObject;
import WmqUtils;

package DirectMQLibrary
{
    public class DirectMQ
    {
        // Don't forget parameter 1 = arg[0]
        // Parameter 1: Text variable name for output message
        // Parameter 2: Queue manager name
        // Parameter 3: Queue name
        // Parameter 4: Reply Queue name
        public static function sendMsg( ework: SyncProcessData, args: Object[] ) : Object
        {
            var mqUtil : WmqUtilsClass = new WmqUtilsClass();
            var folderId : String =  ework.FolderID;
            var msg      : String =  ework.CustomVariable(args[0]);
            var qmname   : String =  args[1];
            var qname    : String =  args[2];
            var replyQ   : String =  args[3];
            if (replyQ.length > 0)
            {
                mqUtil.setReplyTo(qmname,replyQ);
            }
            var result : int = mqUtil.SendMsg(qmname, qname, msg, folderId);
            return( result );
        }

        // Parameter 1: Text variable name for output message
        // Parameter 2: Queue manager name
        // Parameter 3: Queue name
        // Parameter 4: Reply Queue name
        // Parameter 5: Server connection channel of hosting QM (client only)
        // Parameter 6: Hostname of hosting QM (client only)
        // Parameter 7: Listener port no of hosting QM (client only)
        public static function sendMsgClient( ework: SyncProcessData, args: Object[] ) : Object
        {
            var mqUtil : WmqUtilsClass = new WmqUtilsClass();
            var folderId : String =  ework.FolderID;
            var msg      : String =  ework.CustomVariable(args[0]);
            var qmname   : String =  args[1];
            var qname    : String =  args[2];
            var replyQ   : String =  args[3];
            var channel  : String =  args[4];
            var hostname : String =  args[5];
            var portno   : int =     args[6];
            if (replyQ.length > 0)
            {
                mqUtil.setReplyTo(qmname,replyQ);
            }
            var result : int = mqUtil.SendMsgClient(qmname, qname, msg, folderId, channel, hostname, portno);
            return( result );
        }


        // Don't forget parameter 1 = arg[0]
        // Parameter 1: Text variable name for output message
        // Parameter 2: Queue manager name
        // Parameter 3: Queue name
        // Parameter 4: Wait interval
        public static function receiveMsg( ework: SyncProcessData, args: Object[] ) : Object
        {
            var mqUtil : WmqUtilsClass = new WmqUtilsClass();
            var qmname   : String =  args[1];
            var qname    : String =  args[2];
            var waitint  : int    =  args[3];
            var msg : String = mqUtil.RecvMsg(qmname, qname, waitint);
            ework.CustomVariable(args[0],msg);
            return( true );
        }

        // Don't forget parameter 1 = arg[0]
        // Parameter 1: Text variable name for output message
        // Parameter 2: Queue manager name
        // Parameter 3: Queue name
        // Parameter 4: Wait interval
        // Parameter 5: Server connection channel of hosting QM (client only)
        // Parameter 6: Hostname of hosting QM (client only)
        // Parameter 7: Listener port no of hosting QM (client only)
        public static function receiveMsgClient( ework: SyncProcessData, args: Object[] ) : Object
        {
            var mqUtil : WmqUtilsClass = new WmqUtilsClass();
            var qmname   : String =  args[1];
            var qname    : String =  args[2];
            var waitint  : int    =  args[3];
            var channel  : String =  args[4];
            var hostname : String =  args[5];
            var portno   : int =     args[6];
            var msg : String = mqUtil.RecvMsgClient(qmname, qname, waitint, channel, hostname, portno);
            ework.CustomVariable(args[0],msg);
            return( true );
        }

        // Don't forget parameter 1 = arg[0]
        // Parameter 1: Text variable name for output message
        // Parameter 2: Queue manager name
        // Parameter 3: Queue name
        // Parameter 4: Wait interval
        public static function receiveReply( ework: SyncProcessData, args: Object[] ) : Object
        {
            var mqUtil : WmqUtilsClass = new WmqUtilsClass();
            var folderId : String =  ework.FolderID;
            var qmname   : String =  args[1];
            var qname    : String =  args[2];
            var waitint  : int    =  args[3];
            var msg : String = mqUtil.RecvReply(qmname, qname, waitint, folderId);
            ework.CustomVariable(args[0],msg);
            return( true );
        }

        // Don't forget parameter 1 = arg[0]
        // Parameter 1: Text variable name for output message
        // Parameter 2: Queue manager name
        // Parameter 3: Queue name
        // Parameter 4: Wait interval
        // Parameter 5: Server connection channel of hosting QM (client only)
        // Parameter 6: Hostname of hosting QM (client only)
        // Parameter 7: Listener port no of hosting QM (client only)
        public static function receiveReplyClient( ework: SyncProcessData, args: Object[] ) : Object
        {
            var mqUtil : WmqUtilsClass = new WmqUtilsClass();
            var folderId : String =  ework.FolderID;
            var qmname   : String =  args[1];
            var qname    : String =  args[2];
            var waitint  : int    =  args[3];
            var channel  : String =  args[4];
            var hostname : String =  args[5];
            var portno   : int =     args[6];
            var msg : String = mqUtil.RecvReplyClient(qmname, qname, waitint, folderId, channel, hostname, portno);
            ework.CustomVariable(args[0],msg);
            return( true );
        }
        public static function SyncSample( ework: SyncProcessData, args: Object[] ) : Object
        {
            // todo: sync code here
            return true;
        }

        public static function AsyncSample( ework: AsyncProcessData, args: Object[] ) : Object
        {
            // todo: async code here
            return true;
        }
    }
}
Tagged: