Configure Delivery Method Options
Currently there are 7 delivery methods you can utilize in your process:
FILE – message will be created in defined server folder
FTP - message will be created in defined FTP folder
SFTP - message will be created in defined SFTP folder
JMS - message will be created and sent by Java Message Service
MQS - message will be created and sent by Message Queuing Service
EMAIL - message will be created and sent to defined emails list
HTTP - message will be sent to defined URL
How to Set Delivery Methods
There are two ways to set delivery method for notification messages in an environment:
Set the same delivery method for all notification message types by defining the W_DEF_DATA_DM variable in the config file or DeliveryMethod as a task parameter in the Control Message (CM).
Set a separate delivery method for each notification message type by customizing a variable:
W_DEF_ACK_DM (in config) / ACKDeliveryMethod (as task parameter) – define custom delivery method for ACK notification message types
W_DEF_EXTRACT_DM / ExtractDeliveryMethod – for Extract notification message types
W_DEF_ALERT_DM / AlertDeliveryMethod – for Alert notification message types
W_DEF_REPLY_DM / ReplyDeliveryMethod – for Reply notification message types
On this page
- 1 How to Set Delivery Methods
- 2 Change Folders for FILE and FTP/SFTP Delivery Methods in the Control Message
- 3 Extend the Wait for File Upload Time for FILE and FTP/SFTP Methods
- 4 Configure Control Message Delivery Over FTP
- 5 Configure Control Message Delivery Over JMS
- 6 Configure Data Delivery Over JMS
- 7 Configure Email Distribution List
- 8 Email Notification Setup
- 9 HTTP Distribution Setup
Edit the configuration file when you want to apply a delivery method setting to all processes in the environment. If you want to use a different delivery method within a specific workflow or stream, please use corresponding Control Message task parameters - this way the changes will not affect other processes.
Separate custom notification delivery methods for each message type take precedence over the general delivery method set for all message types. This means that a combination of these two can be used when necessary.
An example of such combination is below:
The task parameters for CM below not only create ACK, Extract, Alert, Reply messages in the defined server folder, but also send a duplicate of the Reply message to defined emails as well:
<taskParameter>
<name>DeliveryMethod</name>
<dataType>S</dataType>
<value>FILE</value>
</taskParameter>
<taskParameter>
<name>ReplyDeliveryMethod</name>
<dataType>S</dataType>
<value>EMAIL</value>
</taskParameter>
When no default delivery method is specified in the configuration files, the FILE delivery method option is used by default.
The FILE delivery method is special and is always used, regardless of whether another delivery method has been set.
For example, if the notification delivery method is set to EMAIL a notification message will be sent via email AND the same notification message will be generated in the defined server folder. If the notification delivery method is set to FILE, only one notification message will be generated in the defined server folder.
You can specify the default delivery method option and associated sub options by file type. The following table lists the delivery method options and sub options available for each file type.
Delivery Method | Option | Sub Options Available | Example of Use |
---|---|---|---|
FILE | :enumDMFILE: | FILE_IN_LOCATION | <COL TAG="FILE_IN_LOCATION" EXPRESSION="'../../../cmw/in/'" USERDESCRIPTION="FILE IN LOCATION"/>
<COL TAG="FILE_EXTRACT_LOCATION" EXPRESSION="'../../../cmw/extracts/'" USERDESCRIPTION="FILE extracts location"/>
<COL TAG="FILE_REPLY_LOCATION" EXPRESSION="'../../../cmw/reply/'" USERDESCRIPTION="FILE reply location"/>
<COL TAG="FILE_ACK_LOCATION" EXPRESSION="'../../../cmw/ack/'" USERDESCRIPTION="FILE ack location"/> The expression for FILE method should contain full local path |
FTP | :enumDMFTP: | FTP_URL [we recommend setting this parameter as server ip] | <COL TAG="FTP_URL" EXPRESSION="'00.000.00.00'" USERDESCRIPTION="EA FTP URL"/>
<COL TAG="FTP_USER" EXPRESSION="'USER'" USERDESCRIPTION="EA FTP USER"/>
<COL TAG="FTP_PWD" EXPRESSION="'base64aes~abcdefgij+X8H+6N93cTok1='" USERDESCRIPTION="EA PASSWORD" ENCRYPTED="YES"/>
<COL TAG="FTP_PWD_ISENCRYPTED" EXPRESSION="'YES'" USERDESCRIPTION="It is strongly recommended to encrypt the password above. Otherwise set this value to NO"/>
<COL TAG="FTP_FILES_LOCATION" EXPRESSION="'CMW/inbound/'" USERDESCRIPTION="EA FTP LANDING ZONE LOCATION"/>
<COL TAG="FTP_EXTRACT_LOCATION" EXPRESSION="'CMW/extracts/'" USERDESCRIPTION="EA extracts location"/>
<COL TAG="FTP_REPLY_LOCATION" EXPRESSION="'CMW/outbound/'" USERDESCRIPTION="EA reply location"/>
<COL TAG="FTP_ACK_LOCATION" EXPRESSION="'CMW/ack/'" USERDESCRIPTION="EA ack location"/> Folder path should be entered relative to the root folder to which you have FTP access. |
SFTP | :enumDMSFTP: | SFTP_URL [we recommend setting this parameter as server ip] | <COL TAG="SFTP_URL" EXPRESSION="'00.000.00.00'" USERDESCRIPTION="URL"/>
<COL TAG="SFTP_USER" EXPRESSION="'USER'" USERDESCRIPTION="USER"/>
<COL TAG="SFTP_PWD" EXPRESSION="'PASSWORD'" USERDESCRIPTION="PASSWORD"/>
<COL TAG="SFTP_PWD_ISENCRYPTED" EXPRESSION="'NO'" USERDESCRIPTION="It is strongly recommended to encrypt the password above. Otherwise set this value to NO"/>
<COL TAG="SFTP_FILES_LOCATION" EXPRESSION="'CMW/inbound/'" USERDESCRIPTION="SFTP LANDING ZONE LOCATION"/>
<COL TAG="SFTP_EXTRACT_LOCATION" EXPRESSION="'CMW/extracts/'" USERDESCRIPTION="SFTP extracts location"/>
<COL TAG="SFTP_REPLY_LOCATION" EXPRESSION="'CMW/outbound/'" USERDESCRIPTION="SFTP reply location"/>
<COL TAG="SFTP_ACK_LOCATION" EXPRESSION="'CMW/ack/'" USERDESCRIPTION="SFTP ack location"/> Folder path should be entered relative to the root folder to which you have SFTP access. |
JMS | :enumDMJMS: | W_JMS_DEF_ACK_STREAM | <COL TAG="W_JMS_DEF_ACK_STREAM" EXPRESSION="'JMS_EJM_EAGLETIP_SEND'" USERDESCRIPTION="Default JMS ACK Delivery Stream"/>
<COL TAG="W_JMS_DEF_REPLY_STREAM" EXPRESSION="'JMS_EJM_EAGLETIP_SEND'" USERDESCRIPTION="Default JMS REPLY Delivery Stream"/>
<COL TAG="W_JMS_DEF_EXTRACT_STREAM" EXPRESSION="'JMS_EJM_EAGLETIP_SEND'" USERDESCRIPTION="Default JMS EXTRACT Delivery Stream"/> |
:enumDMEMAIL: | W_SMTPSERVERW_SMTPPORT | <COL TAG="W_SMTPSERVER" EXPRESSION="'000.000.0.00'"/>
<COL TAG="W_SMTPPORT" EXPRESSION="'25'"/>
<COL TAG="W_SENDMAILFROM" EXPRESSION="'a@b.com'"/>
<COL TAG="W_SENDMAILTO" EXPRESSION="'x@y.com'"/> Setting email delivery streams (eagle_ml-2-0_default_cm_email_distribution is most commonly used) In September 2016 EagleML release (and newer) we are going to move these parameters into w_config.inc, so that you will be getting the default values already set. You will not have to add them to w_config_custom.inc unless you want to use custom streams. <COL TAG="W_EMAIL_DEF_ACK_STREAM" EXPRESSION="'eagle_ml-2-0_default_cm_email_distribution'"/>
<COL TAG="W_EMAIL_DEF_REPLY_STREAM" EXPRESSION="'eagle_ml-2-0_default_cm_email_distribution'"/>
<COL TAG="W_EMAIL_DEF_EXTRACT_STREAM" EXPRESSION="'eagle_ml-2-0_default_cm_email_distribution'"/>
<COL TAG="W_EMAIL_DEF_ALERT_STREAM" EXPRESSION="'eagle_ml-2-0_default_cm_email_distribution'"/> | |
MQ | :enumDMMQ: | W_MQS_DEF_ACK_STREAM | <COL TAG="W_MQS_DEF_ACK_STREAM" EXPRESSION="'MQS_EJM_SEND'" USERDESCRIPTION="Default MQ ACK Delivery Stream"/>
<COL TAG="W_MQS_DEF_REPLY_STREAM" EXPRESSION="'MQS_EJM_SEND'" USERDESCRIPTION="Default MQ REPLY Delivery Stream"/>
<COL TAG="W_MQS_DEF_EXTRACT_STREAM" EXPRESSION="'MQS_EJM_SEND'" USERDESCRIPTION="Default MQ EXTRACT Delivery Stream"/> |
Change Folders for FILE and FTP/SFTP Delivery Methods in the Control Message
Task parameters set in the Control Message override settings applied anywhere else.
Extend the Wait for File Upload Time for FILE and FTP/SFTP Methods
Task reported checks the size of received files,
- for FILE - once in 5 seconds
- for FTP/SFTP - once in 20 seconds
By default, if file size remains the same between two checks, the file is taken into further processing.
You can make the process perform size checks for an extended time to make sure the file was fully delivered. To do that, please specify the following task parameter in your CM:
<taskParameter>
<name>WaitForFileUpload</name>
<dataType>S</dataType>
<value>Y</value>
</taskParameter>
Default extended value is 300 seconds. To customize it, you can use the global parameter W_WAIT_FOR_FILE_UPLOAD_TIME or the following CM parameter:
<taskParameter>
<name>WaitForFileUploadTime</name>
<dataType>S</dataType>
<value>300</value>
</taskParameter>
FTP/SFTP and JMS Delivery Setup
Eagle does not provide these streams out of the box because the stream definitions contain specific connection parameters which must be configured by the client.
Configure Control Message Delivery Over FTP
To make Eagle consume control messages from an FTP location, it is necessary to:
Create a folder on your FTP site CMW/control.
Create a stream* of FTP/Inbound/XML type based on the eagle_ml-2-0_cm\in\xml\control_messages.rsf ruleset file.
Do NOT use eagle_ml-2-0* mask for the stream name or it will be deleted when you upgrade.
The control message file should be delivered in to the CMW/control folder.
Configure Control Message Delivery Over JMS
To make Eagle consume control messages from a JMS queue, it is necessary to:
Create a separate JMS queue for Eagle to read control messages from.
Create a stream* of JMSPTP/Inbound/XML type based on the eagle_ml-2-0_cm\in\xml\control_messages.rsf ruleset file.
Do NOT use eagle_ml-2-0* mask for the stream name or it will be deleted when you upgrade.
Configure Data Delivery Over JMS
In order for Eagle to receive data for EJM Requests from a JMS queue, it is necessary to:
Create a stream* of JMSPTP/Inbound/XML type based on the Eagle_ml-2-0_cm\queue\queueing.rsf ruleset file.
Specify the data payload.
Configure Control Message Delivery Over FTP
To make Eagle consume control messages from an FTP location, it is necessary to:
Create a folder on your FTP site CMW/control.
Create a stream* of FTP/Inbound/XML type based on the eagle_ml-2-0_cm\in\xml\control_messages.rsf ruleset file.
Do NOT use eagle_ml-2-0* mask for the stream name or it will be deleted when you upgrade.
The control message file should be delivered in to the CMW/control folder.
Configure Control Message Delivery Over JMS
To make Eagle consume control messages from a JMS queue, it is necessary to:
Create a separate JMS queue for Eagle to read control messages from.
Create a stream* of JMSPTP/Inbound/XML type based on the eagle_ml-2-0_cm\in\xml\control_messages.rsf ruleset file.
Do NOT use eagle_ml-2-0* mask for the stream name or it will be deleted when you upgrade.
Configure Data Delivery Over JMS
In order for Eagle to receive data for EJM Requests from a JMS queue, it is necessary to:
Create a stream* of JMSPTP/Inbound/XML type based on the Eagle_ml-2-0_cm\queue\queueing.rsf ruleset file.
Specify the data payload.
Configure Email Distribution List
You can set email distribution list to define email addresses, on which notification messages will be sent IF delivery method is ":enumDMEMAIL:" / "EMAIL".
To customize the email distribution list in config file, use the W_SENDMAILTO variable. This setting will make notification messages sent to emails defined in this variable if the delivery method is ":enumDMEMAIL:" / "EMAIL"
Example: tst@mail.ru, tst2@mail.com .
You can also specify an email distribution list for each of notification message types using task parameters in CM:
ACKEmailDistributionList – to define emails for ACK notification message type
ExtractEmailDistributionList – to define emails for Extract notification message type
AlertEmailDistributionList – to define emails for Alert notification message type
ResponseEmailDistributionList – to define emails for Response notification message type
If one of the following task parameters: ACKEmailDistributionList , ExtractEmailDistributionList, AlertEmailDistributionList, ResponseEmailDistributionList, - is set in CM then notification message will be sent in any case, regardless of defined delivery type.
Config File Option | Control Message Task Parameter Option | |
---|---|---|
Names | W_SENDMAILTO (apply to all messages types if set delivery method to EMAIL) | ACKEmailDistributionList (ACK messages) ExtractEmailDistributionList (Extract messages) AlertEmailDistributionList (Alert messages) ResponseEmailDistributionList (Response messages) |
Values | Email addresses | |
Example | <COL TAG="W_SENDMAILTO" EXPRESSION="’tst@mail.ru, tst2@mail.com,tst3@mail.com’"/> | <taskParameter>
<name>ACKEmailDistributionList</name>
<dataType>S</dataType>
<value>tst@mail.ru, tst2@mail.com</value>
</taskParameter>
<taskParameter>
<name>ExtractEmailDistributionList</name>
<dataType>S</dataType>
<value>tst3@mail.com</value>
</taskParameter>
<taskParameter>
<name>AlertEmailDistributionList</name>
<dataType>S</dataType>
<value></value>
</taskParameter>
<taskParameter>
<name>ResponseEmailDistributionList</name>
<dataType>S</dataType>
<value>tst@mail.ru, tst2@mail.com,tst3@mail.com</value>
</taskParameter> |
Email Notification Setup
Follow the step-by-step instruction for email notification setup:
You will need to get SMTP server and port settings. If you already know them, skip to setting notification parameter.
Otherwise, do the following:
Open Engine Manager application.
Go to "All Web Servers">[Server Name in bold]>[THICK server]>EagleSTAR Config Files>Configuration Files->msgcenter->open msgservice.ini file
Search on the left side parameters SMTP Server, SMTP Port and From email (if last is set):
Note these values
Next, you will need to set Send notification parameter
Open Message Center Editor.
Open /eagle_ml-2-0_custom_cm/w_config_custom.inc file:
Find "W_SMTPSERVER", "W_SMTPPORT" ("W_SENDMAILFROM") parameters and set saved values to them using Message Center Editor:
Make sure you are setting the EXPRESSION attribute values in quotes, for example:
<COL TAG="W_SMTPSERVER" EXPRESSION="'10.10.10.10'"/>
<COL TAG="W_SMTPPORT" EXPRESSION="'25'"/>
<COL TAG="W_SENDMAILFROM" EXPRESSION="'my_from_email@eagleaccess.com'"/>
"W_SENDMAILFROM" parameter defines the email, which will be set in "From" field in notification letter.
For August 2016 EagleML release or older you should set default email delivery streams in w_config_custom.inc:
In September 2016 EagleML release (and newer) we are going to move these parameters into w_config.inc , so that you will be getting the default values already set. You will not have to add them to w_config_custom.inc unless you want to use custom streams.<COL TAG="W_EMAIL_DEF_ACK_STREAM" EXPRESSION="'eagle_ml-2-0_default_cm_email_distribution'" USERDESCRIPTION="Default EMAIL ACK Delivery Stream"/> <COL TAG="W_EMAIL_DEF_REPLY_STREAM" EXPRESSION="'eagle_ml-2-0_default_cm_email_distribution'" USERDESCRIPTION="Default EMAIL REPLY Delivery Stream"/> <COL TAG="W_EMAIL_DEF_EXTRACT_STREAM" EXPRESSION="'eagle_ml-2-0_default_cm_email_distribution'" USERDESCRIPTION="Default EMAIL EXTRACT Delivery Stream"/> <COL TAG="W_EMAIL_DEF_ALERT_STREAM" EXPRESSION="'eagle_ml-2-0_default_cm_email_distribution'" USERDESCRIPTION="Default EMAIL ALERT Delivery Stream"/>
For example:Set value to "W_SENDMAILTO" parameter. This parameter define email, on which notification letter will be send. For example:
<COL TAG="W_SENDMAILTO" EXPRESSION="'my_to_email@ eagleaccess.com''"/>
If you want to get notification only on EJM task fails then add to bottom of this config file next line:
<CODE> :w_default_send_notifications: :='ONFAILURE'; </CODE>
Click Save button:
Select Tools->re-initialize Message Center Cache menu item:
Your email setup is now complete.
You can run some EJM task to verify For example, drop a Control message to eagle_ml-2-0_default_cm_control_message stream to run a non-existent workflow.
HTTP Distribution Setup
In order to enable HTTP Distribution, next steps should be done:
Add varHTTPDistribution parameter to w_config_custom.inc
<COL TAG="varHTTPDistribution" EXPRESSION="'Y'"/>
In eagle_wrf_generic_extract workflow on eagle_ml-2-0_default_cm_file_distribution step, open Custom Parameters and add RemoteFileName parameter with value like this:
createVariable('cmReplyTo', 'dynamic:ver;2.0!url;http://127.0.0.1:5000!');
This string defines cmReplyTo parameter, which contains url to reply with or without options.
cmReplyTo can have options defined like this:
dynamic:ver;2.0!url;http://127.0.0.1:5000!user;username!password;password_value!
String should start with dynamic:
parameter_name;parameter_value! separated by ; and each pair should end with !
List of possible cmReplyTo options:
Option Name | Option Value (Example) |
---|---|
ver | 1.0 or 2.0 |
url | |
user | username |
password | password_value |
soapaction | soapaction_value |
soapheader | soapheader_value |
soapversion | soapversion_value |
cert | https_certificate |
certpass | https_certificate_password |
key | https_key |
certtype | https_certificate_type |
To trigger HTTP Distribution, RTR should contain ExtractDeliveryMethod parameter with HTTP value:
<taskParameter>
<name>ExtractDeliveryMethod</name>
<dataType>S</dataType>
<value>HTTP</value>
</taskParameter>
Example of RTR for HTTP Distribution: