Существует известная проблема – процессы не запускаются при развертывании бизнес-процессов с базой на Oracle.

В логах WPS эта ошибка может выглядить следующим образом:

1/12/08 10:53:44:886 EST 0000000a
ContainerImpl E WSVR0501E: Error creating component com.ibm.ws.runtime.component.ApplicationMgrImpl@9c393d
com.ibm.ws.exception.RuntimeWarning: com.ibm.ws.exception.RuntimeWarning: could not start application HTM_PredefinedTasks_V612_cluster1 because of filter com.ibm.bpe.framework.ProcessContainer@1c047f0
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplications(ApplicationMgrImpl.java:823)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:564)
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:977)
at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:673)
at com.ibm.ws.runtime.component.ApplicationServerImpl.start(ApplicationServerImpl.java:191)
at com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:977)
at com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:673)
at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:526)
at com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl.java:192)
at com.ibm.ws.runtime.WsServerImpl.start(WsServerImpl.java:140)
at com.ibm.ws.runtime.WsServerImpl.main(WsServerImpl.java:461)
at com.ibm.ws.runtime.WsServer.main(WsServer.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:183)
at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:90)
at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:72)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLauncher.java:336)
at com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:91)
Caused by: com.ibm.ws.exception.RuntimeWarning: could not start application HTM_PredefinedTasks_V612_cluster1 because of filter com.ibm.bpe.framework.ProcessContainer@1c047f0
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:931)
at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2122)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)

Если включить трассировку на WPS. то можно увидеть более конкретную ошибку:

BpelEngine E java.sql.SQLException: ORA-01400: cannot insert NULL into("BPEDB"."URI_TEMPLATE_B_T"."URI")

Эта ошибка вызвана тем, что в базе Oracle поле URL помечено как NOT NULL, но при вставке пустого значения (“”) Oracle трактует его как NULL.

Чтобы исправить это, необходимо внимательно проверить все ноды Catch и Throw процессов на наличие в них namespace-ов. Проце всего проанализировать *.bpel файлы и поискать в них <bpws:catch и <bpws:throw и обратить внимание на свойство faultName, в нем должен присутствовать префикс namespace-а.

<bpws:throw faultName="ns17:TerminateProcessException" name="TerminateProcess14" wpc:displayName="Terminate Process" wpc:id="464"/>;
<bpws:catch faultName="ns17:TerminateProcessException"/>