Configure Custom Oracle MFT Notifications in SOA Suite 12.2.1.0.0

Usually in our projects we get the requirement for sending the notifications for all success and failures . But in my MFT we don’t have direct option or event available to achieve this requirement.

When the transfer is successful user needs to be notified via email so that they can take further action.
User can set filter criteria for file name and file size for which notification needs to be sent.

Follow the below steps for running this sample :

1. Import the transfer(mytransfer_export.zip). This will automatically add the callout definition to the repository. You can also download the callout definition XML(postTransferNotification.xml), if you manually want to create the callout definition.
2. Download the callout jar (postTransferNotification.jar) and source code (PostTransferNotification.java)
3. Download the email template (template.eml) (don’t forget to change the email address in the template) file and place it under template location specified in the notification callout associated with the target.
4. Go to MFT Console -> Administration tab -> Server Properties -> General Configuration . Check for the custom callout directory setting and place the jar,xml and eml template in that folder.

Installing Callout with WLST command:-

a. Run WLST using: $ $MW_HOME/mft/common/bin/wlst.sh
b. Connect to MFT server using the below command :
connect(“admin user”, “password”, “t3://localhost:mftport”)
c. listCallouts()
d. createCallouts(‘ $DOMAIN_HOME/mft/callouts/postTransferNotification.xml’)
e. listCallouts()

Login to MFT console :-
5. Deploy the transfer from the MFT console

Go To Design Page and Open the Transfers – >  in target -> Post Process Actions:
Click “add post-processing actions” and you will see a drop down list with newly created callout, select it and click on add to list .

Provide the location of the “Email Template File location” as step 4 .

6. Please make sure that the ums email drivers for the mft server is configured properly.
7. Send the sample file to embedded ftp server in the /mymart.

To Download the files ClickHere

Advertisements

MFTDomain:Name=oracle.as.mft.runtime,Type=MFT,Application=mft-app

Issue –> when launching the wlst commands you will get the below error.

Error –> MFTDomain:Name=oracle.as.mft.runtime,Type=MFT,Application=mft-app

Cause –> The issue occurs when connecting to AdminServer, but MFT is deployed in another managed server

Solution –>

Solution is to this is connect to the mft_server instead, with this connection the MFT specific commands work as expected.

For example,  lets assume the port for AdminServer is 7001 and the port for MFT server is 7003. Connection to the MFT server is:

wls:/offline>connect(“weblogic”,”welcome1″,”t3://localhost:7003″)

 

Encryption algorithm or key length is restricted under the java policy.

Issue –> Got the below error while encrypting the file through third party certificates in Oracle MFT 12.2.1.0.0

Error –> 

MFTException [threadName=JCA-work-instance:JMSAdapter-10, errorID=b770eea5-4127-41b0-329b-654b76bd984c, errorDesc=MFT-4223_Encryption algorithm or key length is restricted under the java policy., cause=Illegal key size or default parameters]
Error Text Encryption algorithm or key length is restricted under the java policy.

Solution –> 

To implement the solution, please execute the below steps:

1. Download the “Unlimited” jars, “local_policy.jar” and “us_export_policy.jar” from here:
http://developers.sun.com/downloads/

NOTE :- Make sure to download the versions matching the JDK installed in the ORACLE_HOME.

2. Make a backup of the “limited versions” in $ORACLE_HOME/javavm/lib/security/

3. Replace the limited jars with the unlimited jars.

4. Clean out the tmp, cache and stage folders for the MFT servers and restart.

Sending Notifications from Oracle MFT 12c

In this post you will see how to send Email Notifications from your Oracle MFT.

Sending Email notification after successful transfer or failure is a common requirement in any projects.

Even Oracle MFT provides the feature to send the notification to users.

To notify specific users about events, you configure notifications using WLST commands for Oracle Managed File Transfer, and then you configure the email or SMS driver. Notifications event types are as follows:

RUNTIME_ERROR_EVENT — Errors during events such as message processing, server start-up, source error, or system event failure error.

DELETE_ARTIFACT_EVENT — Deletion of a transfer, source, or target.

DEPLOY_ARTIFACT_EVENT — Deployment of a transfer, source, or target.

EXPORT_IMPORT_EVENT — Import or export of the MFT configuration.

PURGE_EVENT — Purging of runtime transfer instances or transfer payloads.

ARCHIVE_RESTORE_EVENT — Archiving or restoring of runtime transfer instances or transfer payloads.

All notification messages are sent to JMS MFTExceptionQueue, whether or not they are enabled or there are contacts to be notified.

Here I am providing the high level steps for configuring Email notification in Oracle MFT.

STEP 1–>

 Login to UNIX box, navigate to the below path and run the commands.

${MW_HOME}/mft/common/bin

./wlst.sh

connect(“weblogic”,”********”,”t3://host:port”)

updateEvent(‘RUNTIME_ERROR_EVENT’, true)

createContact(‘Email’, ’email@domain.com’)

addContactToNotification(‘RUNTIME_ERROR_EVENT’, ‘Email’, ’email@domain.com’)

disconnect()

 STEP2 –>

 In this step we will configure the email driver in oracle em console.

Login to EM console ,.

Expand the User Messaging Service node.

Expand the usermessagingdriver-email node.

Select the node for the Oracle WebLogic Server managed server dedicated for Oracle Managed File Transfer. For example, this node might be named usermessagingdriver-email (mft_server1).

In the usermessagingdriver-email page, select User Messaging Email Driver > Email Driver Properties to open the Email Driver Properties page.

email1

It will open the below page , click on create to create the email driver.

email2

On the Email Driver Properties page, enter values for your mail server for the following (mandatory) Outgoing and (optional) Incoming Mail Server properties:

email3

Restart the Oracle Managed File Transfer server to reflect the changes.

STEP3 –> 

Now open any of your Transfers and go to Targets and click on “Post Processing actions”

Select the “Transfer Notification” and click on Add to List.

email4

Click on “Add or Update Contact to Notify”, select the user you have created in STEP1 and click on ADD.

That’s it , you’re done with  setting up the notifications. Test the results.

Unsupported compressed payload content – Oracle MFT 12C

Issue–> While decompressing the source payload , getting the below error.

Error–>

 MFTException [threadName=JCA-work-instance:JMSAdapter-6, errorID=6586cacf-ccha-4f66-8f2r-1358f20698f6, errorDesc=MFT-4214_Unsupported compressed payload content., ]

Solution–> This error usually occurs if the file is PGP encrypted and you are using just ‘decompress’ to decompress the payload.

Go to source or target, and click on pre processing actions and select “PGP Decryption” and “Add to List” and select the appropriate PGP private key.

IO exception encountered, Disc quota exceeded in Oracle MFT 12C

Issue–> I have an sFTP remote source and it is scheduled to poll the files , but it is not polling any files from sFTP server ,when I have verified the logs I found the below error.

Error–>

MFTException [threadName=JCA-work-instance:JMSAdapter-6, errorID=2tf2-gfjf-6547-2465-0975-675a23jjf2e, errorDesc=MFT-4204_IO exception encountered during message processing., cause=Disc quota exceeded]

Solution–> This issue mainly occurs if the disc quota of your MFT server is full and in these cases MFT server will not able to poll and process the files.

For resolving this issue you need clean your oracle MFT server by deleting the logs, unwanted junk .

Error in establishing a session with SSH Server – Oracle MFT 12C

Issue–> I have faced the below error while connecting to a SFTP remote target from Oracle MFT-12C

Error–>

MFTException [threadName=JCA-work-instance:JMSAdapter-0, errorID=a78078a3-cca1-4705-g47x-82vvdc3h966b, errorDesc=MFT-5031_Error occurred while reading metadata of file [mytempfile.txt.pgp] from endpoint [SFTPEndPoint: Host:[RemoteHost], Port:[22], User:[testuser], Folder:[/myfolder]]., cause=oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: file://wsdl/FileListing_ptt.wsdl [ FileListing_ptt::FileListing(part,part) ] – WSIF JCA Execute of operation ‘FileListing’ failed due to: JCA Binding Component connection issue. JCA Binding Component is unable to create an outbound JCA (CCI) connection. file://wsdl/FileListing_ptt.wsdl [ FileListing_ptt::FileListing(part,part) ] – : The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: Error in establishing a session with SSH Server.. Error in establishing a session with SSH Server.. Unable to establish a session with the server. Please ensure hostname and port specified to login to the server are correct. ;

Solution–> This error usually occurs, if we have not configured the SSH key store in oracle MFT properly (with correct password) or if the target sFTP server public key is not imported in oracle MFT.

  1. Check if the SSH keystore password is correct or not by logging in MFT-Administartion-Keystores

Update SSH-Keystore password with correct password.

  1. Import the SFTP Remote server Public key to oracle MFT server.

Steps to import the public key in to oracle MFT server.

[testuser@mftserver]$ cd /u01/oracle/SOAInstall/mft/common/bin
[testuser@mftserver]$ ./wlst.sh

wls:/fmw_domain/serverConfig> importCSFKey(‘SSH’, ‘PUBLIC’, ‘MFT_PUB’, ‘/home/oracle/.ssh/authorized_keys’)
CSF key imported successfully.
wls:/ fmw_domain /serverConfig> listCSFKeyAliases(‘SSH’, ‘PUBLIC’)
Key Details
————————————————————————–
‘MFT_PUB’, Format X.509, RSA

wls:/ fmw_domain /serverConfig> exit()

Exiting WebLogic Scripting Tool.