A new feature in OFM 12C is that you can track a Business flowinstance. I won’t go into the details as you can read all about it here. As this is a nice feature I was going to use this to set a good Flow instance name as descripted here in chapter 47.5.4 How to Set the Business Flow Instance Name or Composite Instance Name at Design Time. I created a simple service and added an assign in my mediator component as written in the documentation.
As I added it, I noticed that the namespace declared here for the setFlowInstanceTitle wasn’t declared. I thought I would have have been declared somewhere else so I just tried it. As I compiled and deployed my service and ran the test I got the following error though:
ORAMED-01001:[Error in assign operation]Error occurred while assigning to target "$out.property.tracking.setFlowInstanceTitle" using expression "oraext:setFlowInstanceTitle('Test')".Possible Fix:Check if source message has right values or source expression is valid. Cause:Extension function error: Method not found 'setFlowInstanceTitle'
After some digging around and a chat with Oracle support it seems that
a) You have to add the namespace. It seems they forgot it in the online documentation. So the assign should look like this:
b) You have to apply patch 18310693 to the server. This means downloading it, unzipping and running the patch.
C:\Oracle_patch\18310693>c:\Oracle\Middleware\Oracle_Home\OPatch\opatch apply Oracle Interim Patch Installer version 13.2.0.0.0 Copyright (c) 2014, Oracle Corporation. All rights reserved. Oracle Home : C:\Oracle\Middleware\Oracle_Home Central Inventory : C:\Program Files\Oracle\Inventory from : n/a OPatch version : 13.2.0.0.0 OUI version : 13.2.0.0.0 Log file location : C:\Oracle\Middleware\Oracle_Home\cfgtoollogs\opatch\18310693_Jan_18_2015_16_25_03\apply2015-01-18_16-24-53PM_1.log OPatch detects the Middleware Home as "C:\Oracle\Middleware\Oracle_Home" Jan 18, 2015 4:25:03 PM oracle.sysman.oii.oiii.OiiiInstallAreaControl initAreaControl INFO: Install area Control created with access level 0 Applying interim patch '18310693' to OH 'C:\Oracle\Middleware\Oracle_Home' Verifying environment and performing prerequisite checks... All checks passed. Please shutdown Oracle instances running out of this ORACLE_HOME on the local system. (Oracle Home = 'C:\Oracle\Middleware\Oracle_Home') Is the local system ready for patching? [y|n] y User Responded with: Y Backing up files... Patching component oracle.integration.soainfra, 12.1.3.0.0... Patching component oracle.integration.soainfra, 12.1.3.0.0... Patching component oracle.soacommon.plugins, 12.1.3.0.0... Patching component oracle.soacommon.plugins, 12.1.3.0.0... Verifying the update... Patch 18310693 successfully applied Log file location: C:\Oracle\Middleware\Oracle_Home\cfgtoollogs\opatch\18310693_Jan_18_2015_16_25_03\apply2015-01-18_16-24-53PM_1.log OPatch succeeded.
After this….start your server again and try your composite again. The result should be:
Thank you Hugo.
Guys , You don’t have to apply patch for this, Please try use the below java embedded code it works.
U need Patch, I have Tried Java Embedded code setFlowInstanceTitle(String title) , it doesn’t work
Patch 18310693 works indeed.
Hi Hugo,
I have a Strange issue,I am using oraext:setFlowInstanceTitle() in assign activity.For the first time when i deployed service in EM, i am able to see name on instances and again when i redeploy the service i was not able to see the name populated on instance.
Could you please help me out on this issue.
Thanks in Advance.
Regards,
Pradeep
Hi Pradeep,
Is it a synchronous or asynchronous flow? There seems to be an issue with asynchronous flows where the flowinstanceTitle is set but only shows up in certain situations. A work around for this is to insert a dehydrate action as we heard from Oracle support. Not the most beautiful workaround but it seems to work. See http://www.redrock-it.nl/installing-soa-bp-12-1-3-0-5-makes-flowinstance-title-disappear-incoming-workaround/
regards,
Hugo