添加或更改安全性清单后,解决方案 快照 的联机部署失败

Draft comment:
This topic is shared by BAW, CP4BA. Last updated on 2025-01-20 10:38
当您登录 Workflow Center 并将案例解决方案 napshot 在线部署到工作流服务器时,部署实际上是由配置的系统用户(例如 ECMoC_Service_Account)在工作流服务器内部执行的。 如果您部署了解决方案 napshot 然后登录到工作流服务器上的 IBM® Content Navigator bawadmin 桌面并应用或修改安全清单、Content Platform Engine (CPE) 文件夹权限将被更改。 如果不将配置的系统用户添加到安全清单,下次从 Workflow Center 在线部署解决方案 快照到工作流服务器时,部署将失败。 这是因为配置的系统用户将无权对 CPE 文件夹执行部署操作。

故障现象

联机部署失败,并显示与以下类似的错误:

[7/24/20 22:35:15:971 UTC] 000001b1 api I com.ibm.casemgmt.intgimpl.deploy.handlers.ce.DocumentClassDefinitionHandler getClassDefinition getClassDefinition superClassSymName:_Document [7/24/20 22:35:17:031 UTC] 000001b1 api E com.ibm.casemgmt.intgimpl.messages.CaseMgmtLogger error The method failed because an object or property is read-only. Read-only property PropertyDefaultString cannot be updated. com.filenet.api.exception.EngineRuntimeException: FNRCE0057E: E_READ_ONLY: The method failed because an object or property is read-only. Read-only property PropertyDefaultString cannot be updated. at com.filenet.apiimpl.property.PropertiesImpl.checkSettable(PropertiesImpl.java:699) at com.filenet.apiimpl.property.PropertiesImpl.checkSettable(PropertiesImpl.java:666) at com.filenet.apiimpl.property.PropertiesImpl.putValue(PropertiesImpl.java:370) at com.filenet.apiimpl.core.PropertyDefinitionStringImpl.set_PropertyDefaultString(PropertyDefinitionStringImpl.java:53) at com.ibm.casemgmt.intgimpl.deploy.handlers.ce.CaseClassDefinitionHandler.setExternalDataURI(CaseClassDefinitionHandler.java:224) at com.ibm.casemgmt.intgimpl.deploy.handlers.ce.CaseClassDefinitionHandler.getClassDefinition(CaseClassDefinitionHandler.java:149) at com.ibm.casemgmt.intgimpl.deploy.handlers.ce.CEClassDefinitionHandler.preLoadClassDefinition(CEClassDefinitionHandler.java:222) at com.ibm.casemgmt.intgimpl.deploy.handlers.ce.CaseClassDefinitionHandler.preLoadClassDefinition(CaseClassDefinitionHandler.java:64) at com.ibm.casemgmt.intgimpl.deploy.handlers.CaseTypeHandler.prePEDeploy(CaseTypeHandler.java:326) at com.ibm.casemgmt.intgimpl.deploy.handlers.RootSolutionHandler$26.doStepWork(RootSolutionHandler.java:921) at com.ibm.casemgmt.intgimpl.deploy.DeploymentStep.carryOutStep(DeploymentStep.java:79) at com.ibm.casemgmt.intgimpl.deploy.handlers.RootSolutionHandler.deploy(RootSolutionHandler.java:927) at com.ibm.casemgmt.intgimpl.deploy.SolutionDeployer.deploy(SolutionDeployer.java:224) at com.ibm.casemgmt.api.admin.DevelopmentSolution$ProcessPendingActivitiesWorker.process(DevelopmentSolution.java:836) at com.ibm.casemgmt.api.admin.DevelopmentSolution$BackgroundActivitiesProcessor.execute(DevelopmentSolution.java:667) at com.ibm.casemgmt.intgimpl.BackgroundWorker$2.run(BackgroundWorker.java:116) at java.security.AccessController.doPrivileged(AccessController.java:770) at javax.security.auth.Subject.doAs(Subject.java:570) at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:196) at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:153) at sun.reflect.GeneratedMethodAccessor239.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:508) at com.filenet.apiimpl.util.J2EEUtilWS.doAs(J2EEUtilWS.java:236) at com.filenet.api.util.UserContext.doAs(UserContext.java:151) at com.ibm.casemgmt.intgimpl.BackgroundWorker.run(BackgroundWorker.java:113) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.lang.Thread.run(Thread.java:820)

原因

尚未将用于联机部署的已配置系统用户添加到安全性清单。

解决问题

  1. 在 Workflow Server 上,启动 IBM Content Navigator bawadmin 桌面。
  2. 在安全性清单中,添加配置的系统用户(例如,ECMoC_Service_Account)。
  3. Workflow Center中,将另一个解决方案 Snapshot 联机部署到 Workflow Server。