Tuesday, June 17, 2008

Flex Field Mapping Migrator

Nothing special, just putting together some BPEL client API to create useful utility for BPEL Human Workflow migration.

Flex field mappings are very useful for creating custom views/queues and reports. Flex-Field mapping in worklist are persisted in Workflist Schema with MD5 encoded guid. It is not advisable to promote them from one server to another server via database scripts. BPEL workflow client API supports extracting, creating and deleting such mappings for worklist application.

Here is the utility which I created by using worklist client API, which I have released it as JAR file, and I wrote wrapper BAT file to execute the command.

As mentioned earlier I support three COMMANDNAME export, import and clean. Export will generate workflowmappings.xml file in the current directory and import will take workflowmappings.xml file and import all the payload mappings to the target server. My import program is not very intelligent, it cleans all the mapping on target server and creates them according to workflowmappings.xml file, it is not smart update.

It can be downloaded from here.

1 comment:

Anonymous said...

Great blog.
I have a questions related to your previous post "Insert?Extract SOAP header". After I got following errors, same as the one comment on the "Insert/Extrac SOAP header" blog, further check the opmn log, I got following:
validating "Z:\SOABASIC\10.1.3.1\OracleAS_2\bpel\domains\default\tmp\.bpel_InsertHeaderVariables_1.0_c0f0a15dab2970032ad97dee51e7014a.tmp\InsertHeaderVariables.bpel" ...
08/07/07 15:57:02 Z:\SOABASIC\10.1.3.1\OracleAS_2\bpel\domains\default\tmp\.bpel_InsertHeaderVariables_1.0_c0f0a15dab2970032ad97dee51e7014a.tmp\BPEL-INF\src\bpel\insertheadervariables\BPEL_BIN.java:1240: '}' expected.
08/07/07 15:57:02 "Variable_Username"
08/07/07 15:57:02 ^
08/07/07 15:57:02 Z:\SOABASIC\10.1.3.1\OracleAS_2\bpel\domains\default\tmp\.bpel_InsertHeaderVariables_1.0_c0f0a15dab2970032ad97dee51e7014a.tmp\BPEL-INF\src\bpel\insertheadervariables\BPEL_BIN.java:1409: Class or interface declaration expected.
08/07/07 15:57:02 }
08/07/07 15:57:02 ^
08/07/07 15:57:02 2 errors
<2008-07-07 15:57:02,900> ERR
default.collaxa.cube.engine.deployment> CubeProcessFactory::generateProcessClass>

Process "InsertHeaderVariables" (revision "1.0") compilation failed.
<2008-07-07 15:57:02,900> ERROR> default.collaxa.cube.engine.deployment> CubeProcessLoader::create>
ORABPEL-01005

Failed to compile classes.
Failed to compile the generated BPEL classes for "InsertHeaderVariables".

at com.collaxa.cube.lang.compiler.CubeProcessor.compileGeneratedClasses(CubeProcessor.java:972)
at com.collaxa.cube.lang.compiler.CubeProcessor.transformServerSide(CubeProcessor.java:725)
at com.collaxa.cube.lang.compiler.CubeProcessor.transformServerSide(CubeProcessor.java:632)

So seems like there are some issues with the BPEL_BIN.java classes. And this maybe caused by the design.
Really appreciated if you can point me to the right direction!
TIA.
I'll check the design as well, if I figured out, I'll post here.