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.
<assign> <copy target="$out.property.tracking.setFlowInstanceTitle" expression="oraext:setFlowInstanceTitle("Test")" xmlns:med="http://schemas.oracle.com/mediator/xpath"/> </assign>
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:
<copy target="$out.property.tracking.setFlowInstanceTitle" expression="oraext:setFlowInstanceTitle('Test')" xmlns:oraext="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc" xmlns:med="http://schemas.oracle.com/mediator/xpath"/>
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 126.96.36.199.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 : 188.8.131.52.0 OUI version : 184.108.40.206.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, 220.127.116.11.0... Patching component oracle.integration.soainfra, 18.104.22.168.0... Patching component oracle.soacommon.plugins, 22.214.171.124.0... Patching component oracle.soacommon.plugins, 126.96.36.199.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: