IBM Support

How do I configure FileNet Process Engine Component Manager to send messages into a WebSphere MQ server queue?

Troubleshooting


Problem

How do I configure FileNet Process Engine Component Manager to send messages into a WebSphere MQ server queue?

Resolving The Problem

Before proceeding to the next series of steps, the following are required:
- You have a working Process Engine environment, with a region configured and CM configured
- You have Workplace / WorkplaceXT installed and deployed in WebSphere
- You have WebSphere MQ server installed and a Queue Manager configured along with a Queue

1. Create "Queue connection factory" from WebSphere Admin Console

In this example, MQCxnFac is used for the Queue connection factory name and MQCxnFacJNDI as the corresponding JNDI name.

    a) Resources -> JMS -> Queue connection factories -> click "New" button to create a new Queue Connection Factory.
    b) select "WebSphere MQ messaging provider" in the "Select JMS resource provider" screen -> click "Ok" -> give "Name" (MQCxnFac) and "JNDI name" (MQCxnFacJNDI) -> click "Next"



    c) On the 'Select connection method', select "Enter all the required information into this wizard" -> click "Next"

    d) On step 2.1, 'Supply queue connection details', provide the name of the "Queue manager" in WebSphere MQ in the dialog -> click "Next" (You can find the name of the Queue Manager via WebSphere MQ explorer. The example uses QM_APPLE.)




    e) On step 2.2, 'Enter connection details', leave "Transport" as default (Bindings, then client). Type in a "Hostname" for where WebSphere MQ server is installed (in our example: localhost). "Port" is what is configured for WebSphere MQ queue manager, default is "1414". Leave 'Server connection channel' as blank -> Click "Next"



    f) On the Test connection screen, make sure to click "Test Connection" to confirm the settings that have been entered is correct. When Test Connection is successful -> click "Next" -> click "Finish" -> click "Save" to save this directly to the master configuration.

2. Create "Queue" from WebSphere Admin Console
    In the example, the queue name MQTestQueue is used with the JNDI name of MQTestQueueJNDI

    a) Resources -> JMS -> Queues -> click "New" button
    b) select "WebSphere MQ messaging provider" -> click "Ok"
    c) give "Name" (MQTestQueue) and "JNDI name" (MQTestQueueJNDI) for queue
    d) give "Queue name " and "Queue Manager name" -> click "Ok" -> Click "Save".

    The Queue name and Queue Manager name depends on what you created in WebSphere MQ. In our example, the QManager name is “QM_APPLE” and the Queue name is “Q1”



3. Create a JMS component queue via Process Configuration Console
    In the example, the Component Queue used is named MQQueue

    a) Open Process Configuration Console from Workplace / WorkplaceXT, and connect to the region where you want to configure the new Component Queue.

    b) Create a new Component Queue. Type in a name for the queue (MQQueue)



    c) In the advanced settings pane for configuring component adaptor, make sure to select JMS component for the adaptor type.



    d) click on "Configure" and type in the name of the "Queue connection factory" and "Queue" JNDI names as defined in WebSphere in step #1 and #2. (MQCxnFacJNDI / MQTestQueueJNDI)



    e) Make sure to fill in the JAAS Credentials information. The example uses the default CELogin JAAS login context.



    f) Make sure you define an operation(s) to be associated with the Component Queue.


    g) After saving, Commit the changes


4. Create a new Component Manager for the new Component queue
    a) Run Process Task Manager for Component Manager, using the routercmd.bat/sh script in the /Router folder in the install location for Workplace/WorkplaceXT

    b) Right click on the Component Managers node and click "New"



    When prompted, select the Region that you created the Component Queue in for step #3.

    c) In the General Tab, under Queues, type in the name of the new CM Queue, MQQueue



    d) In the Required libraries tab, add the following jar files:

    From WAS:

    <<WebSphere Install Dir>>/profiles/default/properties
    <<WebSphere Install Dir>>/properties
    <<WebSphere Install Dir>>/lib/bootstrap.jar
    <<WebSphere Install Dir>>/lib/j2ee.jar
    <<WebSphere Install Dir>>/lib/lmproxy.jar
    <<WebSphere Install Dir>>/lib/urlprotocols.jar

    From MQM

    <<WebSphere MQ Install Dir>>/java/lib/com.ibm.mq.jar
    <<WebSphere MQ Install Dir>>/java/lib/com.ibm.mqjms.jar
    <<WebSphere MQ Install Dir>>/java/lib/com.ibm.mq.jmqi.jar



    e) In the Advanced Tab, set the following:

    JNDI Initial Context Factory:

    com.ibm.websphere.naming.WsnInitialContextFactory

    JRE Parameters:

    -Dwasp.location=C:/Program Files (x86)/IBM/FileNet/WebClient/CE_API/wsi -Djava.protocol.handler.pkgs=com.ibm.net.ssl.www2.protocol -Djava.ext.dirs=C:\Program Files\IBM\Mashup Center\3.0\AppServer\java\jre\lib\ext;C:\Program Files\IBM\Mashup Center\3.0\AppServer\lib;C:\Program Files\IBM\Mashup Center\3.0\AppServer\properties;C:\Program Files\IBM\Mashup Center\3.0\AppServer\plugins;C:\Program Files (x86)\IBM\WebSphere MQ\java\lib

    The path to the java.ext.dirs can vary depending on your installation of WebSphere.
    In the example above, the directories are from a WebSphere Mashup Center installation.
    The key is to include the following:
    - AppServer\java\jre\lib\ext
    - AppServer\lib
    - AppServer\properties
    - AppServer\plugins
    - WebSphere MQ\java\lib

    Preferred JRE Bin Path:

    C:\Program Files\IBM\Mashup Center\3.0\AppServer\java\jre\bin

    This is the JRE that is associated with WebSphere.

5. Configure CM to pass MQ Security
    In order for the Component Manager component to send messages into the MQ Queue Manager, it has to be configured with a user that has access to MQ.

    This is done by adding the user that starts the Component Manager, to the mqm group on the WAS MQ server.
    The mqm server is created automatically by WebSphere MQ server during the installation process.

    This is a different user than configured in LDAP or CE.
    If you happen to be running on a Windows system, that belongs to the same domain as the domain that is configured as the LDAP for CE, then you can just add the user configured (in the example above P8CEAdmin) to the mqm group.
    Otherwise, you can just create a user on the local system, with the same name and password, as what is specified in the Component Manager Adaptor dialog, and add that user to the mqm group.

    After configuring the user, start the Component Manager and Component Queue

6. Test the configuration by defining a workflow that will route work to the MQ component queue
    Define a new workflow, using the MQQueue Component and operation that was defined earlier in step #3.
    Validate/transfer it
    Launch it, and process it to the MQ component step.
    Use "Websphere MQ Explorer" to check the messages be sent to the MQ queue.
    In the example here, the Q1 queue has a queue depth of +1 after the step completed.

====

The above procedure was performed and validated on the following configuration:
- WebSphere Mashup Center 3.0 w/ WebSphere Application Server 7.0.0.11
- WebSphere MQ Server 7.0.1.3
- FileNet WorkplaceXT 1.1.4.7
- FileNet Content Engine 5.0
- FileNet Process Engine 5.0.0.1
- Windows 2008 R2

If you have a remote WebSphere MQ server, you will need to install WebSphere MQ Client on the Component Manager server in order for it to have access to the jar files that are specified in Step 4.d.

[{"Product":{"code":"SSTHRT","label":"IBM Case Foundation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Process Engine","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"},{"code":"PF016","label":"Linux"}],"Version":"5.1.0;5.0;4.5.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
17 June 2018

UID

swg21570655