Setup an extraction profile

Set up an extraction profile such that transactions are extracted and sent to the Duplicate Detect engine.

Figure 1 is an example of an extraction profile to accomplish such a workflow:
Figure 1. Extraction profile code example
<profile type="DUP" name="default dup profile"
     exec="com.ibm.icpcs.transactionserver.extraction.writers.dupdetect.DupDetectWriter"
     parameterSet="jms dup parms">

   <!-- Send Items to Duplicate Detect when a presentment gets loaded -->
   <conditions>
      <column>LOADED</column>
   </conditions>

   <!-- Because there is no aggregationRules section specified, this example -->
   <!-- rule sends one duplicate detect method for every ICL File loaded    -->
   <!-- into the Transaction Server.

</profile>
The parameters that you set for the Duplicate Detect profile control how the message is sent to the Duplicate Detect engine. Two basic mechanisms are available for sending messages to Duplicate Detect, JMS, and JNDI.
  1. You can specify JMS parameters to use your JMS provider, like WebSphere® MQ.
  2. JNDI parameters can be used to retrieve the information from a JNDI provider, like LDAP or WebSphere Application Server.
Figure 2 gives an example of each:
Figure 2. Set parameter code example
<parameterSet name="jms dup parms">
   <parameter name="namespace">DUP_PAYMENT</parameter>
   <parameter name="jmsUseJNDI">false</parameter>
   <parameter name="jmsQmgrHostname">MYHOST</parameter>
   <parameter name="jmsQmgrChannel">SYSTEM.DEF.SVRCONN</parameter>
   <parameter name="jmsQmgrPort">1419</parameter>
   <parameter name="jmsClient">true</parameter>
   <parameter name="jmsQmgrName">FTM.QMANAGER</parameter>
   
   <parameter name="jmsSendQueue">FXH.DUPLICATEDETECT.INPUT.QUEUE</parameter>
   <parameter name="jmsReplyQueue">FXH.TRANSSERVER.INPUT.QUEUE</parameter>
</parameterSet>

<parameterSet name="jndi dup parms">
   <parameter name="namespace">DUP_PAYMENT</parameter>
   <parameter name="jmsUseJNDI">true</parameter>
   <parameter name="jndiURL"> iiop://localhost:2810</parameter>
   <parameter name="jndiInitialContext">com.ibm.websphere.naming.WsnInitialContextFactory</parameter>
   <parameter name="jndiConnectionFactory">jms/izhjmscf</parameter>
   <parameter name="jndiSendQueue">jms/izhinboundq</parameter>
   <parameter name="jndiReplyQueue">jms/izhreplyq</parameter>
</parameterSet>
Table 1 lists all the possible Duplicate Detect parameters in the extraction profile.
Table 1. Extraction profile parameters
Name Values and Examples Default Description
Namespace DUP_PAYMENT DUP_PAYMENT Name of the Namespace in which to perform duplicate checking.
userExitClass com.ibm.icpcs.transactionserver.samples.userexit.SampleDuplicateDetectUserExit none Name of the user exit that allows users to modify the data that is being sent to the Duplicate Detect engine.
jmsUseJNDI true, false false Controls the use of JNDI lookup. If set to true, JNDI lookup is used to get a ConnectionFactory object and a Queue object. If set to false, WebSphere MQ JMS calls are used to get an MQConnection. If you are using JNDI, the jndi* properties must be set. If not using JNDI, the jms* properties must be set.
jndiURL iiop://localhost:2810 none The URL for the JNDI provider.
jndiInitialContext com.sun.jndi.fscontext.RefSContextFactory com.ibm.websphere.naming.WsnInitialContextFactory The name of the initial context factory to be used to create the initial context used for JNDI lookups. Refer to your associated JNDI provider’s documentation.
jndiConnectionFactory jms/izhjmscf none The name of the ConnectionFactory created in the JNDI namespace to house the messages queues.
jndiSendQueue jms/izhinboundq none The name of the queue that is created in the JNDI namespace to which to send Duplicate Detect messages.
jndiReplyQueue jms/izhreplyq none The name of the queue that is created in the JNDI namespace from where to receive Duplicate Detect reply messages.
jndiPriority 7 4 A priority for the JNDI message generated by the event handler. This setting must be an integer value between zero and nine. The greater the value the higher the priority (nine is the highest priority). Refer to the industry standard Java™ documentation for JMS for a complete description of this value. This parameter is not required.
jmsCCDT MQCCDT.TAB none If an MQ client channel definition table (CCDT) file was created to configure the extraction to Duplicate Detect, use this parameter to specify the name of the CCDT file.
jmsQmgrHostname 127.0.0.1 or MYHOSTNAME none The hostname or address of the server where the WebSphere MQ queue manager resides.
jmsQmgrChannel SYSTEM.DEF.SVRCONN none The WebSphere MQ channel name.
jmsQmgrPort 1415 1414 The port number on which the MQ listener is listening.
jmsClient true, false true Set to false when the MQ Server is installed on the machine where the Transaction Server is running.
jmsUserId username none The user ID to use to connect to the MQ queue manager.
jmsPassword password none The password to use to connect to the MQ queue manager.
jmsQmgrName FTM.QMANAGER none The name of the MQ queue manager.
jmsSendQueue FXH.DUPLICATEDETECT.INPUT.QUEUE none The name of the queue to which to send Duplicate Detect messages.
jmsReplyQueue FXH.TRANSSERVER.INPUT.QUEUE none The name of the queue for the Duplicate Detect engine to post replies.
jmsCipherSuite SSL_RSA_WITH_3DES_EDE_CBCV_SHA none The name of the JSSE CipherSuite associated with the WebSphere CipherSpec, specified for the user’s MQ queue manager. For more detailed information, see Table 2.
jmsKeyStore c:\keys\mqkey.jks none The fully qualified name of the file containing the key store.
jmsKeyStorePassword password none The password used to access the key store.
jmsTrustStore c:\keys\mqkey.jks none The fully qualified name of the file containing the trust store.
jmsPriority 2 4 A priority for the JNDI message generated by the event handler. This setting must be an integer value between zero and nine. The greater the value the higher the priority (nine is the highest priority). Refer to the industry standard Java documentation for JMS for a complete description of this value. This parameter is not required.
batchMode false, true false If batchMode is set to true, Transaction Server sets the corresponding batch mode flag in the message it sends to Duplicate Detect to true. When batch mode is set to true, the Duplicate Detect engine waits to send review responses until all transactions in a unit of work have been reviewed. When batch mode is set to false, which is the default, review response messages are sent back to the client as soon as each transaction is reviewed.
includeExceptions false, true false If includeExceptions is set to true, Transaction Server sends all transactions, even those that have been flagged as exceptions, to Duplicate Detect. By default the Transaction Server does not send exception transactions to Duplicate Detect, instead it waits for those transactions to be handled by an exception application, such as Payment Repair or Suspect Image Review.