Friday, April 17, 2015

Oracle BPM / SOA Instance Migration Script Issues

In this blog posting I explain some changes you need to apply to get instance migration to work for the Oracle BPM 11g Suite.

While figuring out a couple things about instance migrations I have been doing a few Bundle Patch installations lately. Up to 11.1.1.7.0 + BP4 I had issues with migration even after applying patch 18025048. I just applied BP7 and installed the latest 11.1.1.7.0 SOA and BPM plugins for JDeveloper (those indicated in the readme), and I finally got rid of most but still not all java.lang.reflect.InvocationTargetException exceptions that I saw before in the migration feasibility report.

And the I have the annoying error below back again when trying to run the report from JDeveloper:

java.lang.NoClassDefFoundError: oracle/soa/management/util/CompositeInstanceFilter
    at java.lang.Class.getDeclaredMethods0(Native Method)


Might as well write it down what I did to the issue, so that next time I don't have to try to remember what it was.

Up to BP4 I used the ant-composite-instance-migration.xml, as unlike the documentation suggests there was no /jdeveloper/bin/ant-bpm-migration.xml script. But at least since BP7 there is. However both do not work out-of-the-box (as was the case for all previous versions of the ant-composite-instance-migration.xml that I used). The problem being that some of the library paths are incorrect.

In the ant-composite-instance-migration.xml, instead of the next line:


It should read:


When using the ant-composite-instance-migration.xml it still complained about the composite not being compatible, while according to the documentation it should (there is no non-durable BPEL nor Mediators involved, and I try to migrate to a new revision of exactly the same code). So I thought I try my luck with the ant-bpm-migration.xml script instead.

Initially that gives another error:

java.lang.NoClassDefFoundError: oracle/jrf/PortabilityLayerException
    at oracle.soa.management.internal.ejb.EJBLocatorImpl.lookupBean(EJBLocatorImpl.java:817)


The issue here is that instead of the next lines:


It should have read:


Unfortunately it still reported the composite not to be compatible. But that I will address in some next topic (I hope).