(IBRK-10): IB Routing referencing invalid handlers

Problem:

After running the SYSAUDIT report, the following errors appear under Integration Broker Audits:

(IBRK-10): IB Routing referencing invalid handlers:
Routing On Send Handler On Receive Handler
 - ------ --------------- ------------------
 ~GENERATED~17288 ACK
 1 Total Rows

Solution:

Log on to SQL Server Management Studio and run the following queries against fsdev:

select * from PSIBRTNGDEFN where ROUTINGDEFNNAME = '~GENERATED~17288'
select * from PSIBRTNGDEFN where ONRCVHDLRNAME = 'ACK'
select ONRCVHDLRNAME, count(*) from PSIBRTNGDEFN group by ONRCVHDLRNAME
select * from PSSRVHDLRRCV_VW

The outputs were:

ROUTINGDEFNNAME EFFDT VERSION EFF_STATUS SENDERNODENAME RECEIVERNODENAME RTNGTYPE IB_SYNCHNONBLOCK IB_OPERATIONNAME VERSIONNAME CONNOVERRIDE CONNGATEWAYID CONNID LOGMSGDTLFLG ONSNDHDLRNAME ONRCVHDLRNAME GENERATED IB_LOCALIDFLG LASTUPDDTTM LASTUPDOPRID OBJECTOWNERID DESCR DESCRLONG
 ------------------------------ ----------------------- ----------- ---------- ---------------------------------------------------------
 ~GENERATED~17288 2005-10-21 00:00:00.000 6 I ~~ANY~~ PSFT_EP R N CREATE_WORKLIST_ITEM V1 N 2 ACK Y 2 2008-12-30 11:38:38.000 VP1 PPT GENERATED NULL
(1 row(s) affected)
ROUTINGDEFNNAME EFFDT VERSION EFF_STATUS SENDERNODENAME RECEIVERNODENAME RTNGTYPE IB_SYNCHNONBLOCK IB_OPERATIONNAME VERSIONNAME CONNOVERRIDE CONNGATEWAYID CONNID LOGMSGDTLFLG ONSNDHDLRNAME ONRCVHDLRNAME GENERATED IB_LOCALIDFLG LASTUPDDTTM LASTUPDOPRID OBJECTOWNERID DESCR DESCRLONG
 ------------------------------ ----------------------- ----------- ---------- ---------------------------------------------------------
 ~GENERATED~17288 2005-10-21 00:00:00.000 6 I ~~ANY~~ PSFT_EP R N CREATE_WORKLIST_ITEM V1 N 2 ACK Y 2 2008-12-30 11:38:38.000 VP1 PPT GENERATED NULL
(1 row(s) affected)
ONRCVHDLRNAME COUNT(*)
 ------------------------------ -----------
 1500
 ACK 1
(2 row(s) affected)
IB_OPERATIONNAME ONRCVHDLRNAME DESCR
 ------------------------------ ------------------------------ ---------------------------
 CREATE_WORKLIST_ITEM OnAckForMarkedWorkedResp Create worklist entry
(1 row(s) affected)

On fsdmo, ran the following queries:

select * from PSIBRTNGDEFN where ROUTINGDEFNNAME = '~GENERATED~17288'
select * from PSIBRTNGDEFN where ONRCVHDLRNAME = 'ACK'
select ONRCVHDLRNAME, count(*) from PSIBRTNGDEFN group by ONRCVHDLRNAME
select * from PSSRVHDLRRCV_VW

The outputs were:

ROUTINGDEFNNAME EFFDT VERSION EFF_STATUS SENDERNODENAME RECEIVERNODENAME RTNGTYPE IB_SYNCHNONBLOCK IB_OPERATIONNAME VERSIONNAME CONNOVERRIDE CONNGATEWAYID CONNID LOGMSGDTLFLG ONSNDHDLRNAME ONRCVHDLRNAME GENERATED IB_LOCALIDFLG LASTUPDDTTM LASTUPDOPRID OBJECTOWNERID DESCR DESCRLONG
 ------------------------------ ----------------------- ----------- ---------- ---------------------------------------------------------
 ~GENERATED~17288 2005-10-21 00:00:00.000 1 A ~~ANY~~ PSFT_EP R N CREATE_WORKLIST_ITEM V1 N 2 ACK Y 2 2008-12-18 16:04:16.000 PPLSOFT PPT GENERATED NULL
(1 row(s) affected)
ROUTINGDEFNNAME EFFDT VERSION EFF_STATUS SENDERNODENAME RECEIVERNODENAME RTNGTYPE IB_SYNCHNONBLOCK IB_OPERATIONNAME VERSIONNAME CONNOVERRIDE CONNGATEWAYID CONNID LOGMSGDTLFLG ONSNDHDLRNAME ONRCVHDLRNAME GENERATED IB_LOCALIDFLG LASTUPDDTTM LASTUPDOPRID OBJECTOWNERID DESCR DESCRLONG
 ------------------------------ ----------------------- ----------- ---------- ---------------------------------------------------------
 CREATE_WORKLIST_ITEM 2005-10-21 00:00:00.000 1 I ~~ANY~~ PSFT_EP R N CREATE_WORKLIST_ITEM V1 N 2 ACK Y 2 2008-12-23 11:11:56.000 PPLSOFT Create worklist entry NULL
 ~GENERATED~17288 2005-10-21 00:00:00.000 1 A ~~ANY~~ PSFT_EP R N CREATE_WORKLIST_ITEM V1 N 2 ACK Y 2 2008-12-18 16:04:16.000 PPLSOFT PPT GENERATED NULL
(2 row(s) affected)
ONRCVHDLRNAME
 ------------------------------ -----------
 1513
 ACK 2
(2 row(s) affected)
IB_OPERATIONNAME ONRCVHDLRNAME DESCR
 ------------------------------ ------------------------------ ---------------------------
 CREATE_WORKLIST_ITEM ACK
 CREATE_WORKLIST_ITEM OnAckForMarkedWorkedResp Create worklist entry
 (2 row(s) affected)

Note that in PSSRVHDLRRCV_VW, there is a new row for ACK.

1. The simplest solution, however, is to delete the offending routing, ~GENERATED~17288.

2. In PIA, navigate to Integration Broker > Service Utilities > Service Administration. Select the Routings tab, and open the Delete section. Enter ~GENERATED~17288 into the Routing Name field and click Search. Check Select and then click Delete.

Under Results, the following message appears: Unable to delete. Routing belongs to a restricted service.

3. One way to resolve this is to change the restricted service to unrestricted. Navigate to Integration Broker > Configuration > Service Configuration. Click the Restricted Services tab, and search for PT_WORKLIST. Uncheck Restricted, and then Save.

4. Determine the field that is used as the lookup. Navigate to Integration Broker > Integration Setup > Routings. In the Find an Existing Value tab, in Routing Name, enter ~GENERATED~17288 and click Search.

5. Type Ctrl + J and note the Page name: IB_ROUTINGDEFN

6. On GL-WEB-APP, launch Application Designer and click Insert Definitions into Project. Choose Page and enter IB_ROUTINGDEFN. Choose IB_ROUTINGDEFN and click Close.

7. Double-click IB_ROUTINGDEFN. Right-click on the OnReceive Handler field and choose View Definition. On the ONRCVHDLRNAME field, right click and choose Record Field Properties. Click the Edits tab and note the Prompt Table: PSSRVHDLRRCV_VW.

8. In Management Studio, for the fsdev database, expand the Views navigator and locate PSSRVHDLRRCV_VW. Right click on PSSRVHDLRRCV_VW, choose Script View as, choose CREATE To, and click New Query. Note the command to create the view:

CREATE VIEW [dbo].[PSSRVHDLRRCV_VW] (IB_OPERATIONNAME, ONRCVHDLRNAME, DESCR) AS SELECT IB_OPERATIONNAME , HANDLERNAME , DESCR FROM PSOPRHDLR WHERE HANDLERID = 'RECV'

9. In PIA, navigate to Integration Broker > Integration Setup > Service Operations. In the Find Service Operation tab, in the Service Operation field, enter CREATE_WORKLIST_ITEM. Then click Search. Click CREATE_WORKLIST_ITEM to view it.

10. If the record is restricted, you will not be able to enter new Handlers. See step 3 above to resolve.

11. Click the Handler tab. Add a new Handler with the following information:
Name: ACK
Type: OnReceive
Implementation: Application Class
Status: Active

Click Details and add the following information:

Package Name: PT_WF_WORKLIST
Path: : [that is, only a colon must be entered]
Class ID: OnAckForMarkedWorkedResp
Method: OnAckReceive

12. Click Save.

Comments are closed.