IBM Support

Migrated artifact cannot deploy to BPM server

Technical Blog Post


Abstract

Migrated artifact cannot deploy to BPM server

Body

 

Recently I worked with a client that had migrated the artifact from IID 8013 to 857. There was AIS (advanced integration service) in their process application and they now wanted to deploy the advanced project to Business Process Manager (BPM) server. These are the GUI steps they had taken:
  1. Open the application at workspace and migrate it to IID 8.5.7
  2. Execute "Deploy to Process Center" by IID 8.5.7
Then the error happened and the deployment failed. The application cluser log file contains the error below:
 
[16/10/14 15:57:35:855 JST] 00003e14 ServiceDeploy E
com.ibm.ws.bpm.servicedeploy.applications.ServiceDeployApplication
runTasks ビルド中に例外が発生しました。
 
com.ibm.websphere.management.exception.AdminException:
com.ibm.websphere.management.exception.AdminException:
org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDesc
riptorLoadException: WEB-INF/web.xml
 at
com.ibm.ws.bpm.deploy.delegator.DelegatingTaskProvider.delegatePerformTa
sk(DelegatingTaskProvider.java:478)
 at
com.ibm.ws.bpm.servicedeploy.applications.ServiceDeployApplication.runTa
sks(ServiceDeployApplication.java:637)
 at
com.ibm.ws.bpm.servicedeploy.applications.ServiceDeployApplication.run(S
erviceDeployApplication.java:305)
 
.........
 
Caused by: java.lang.ClassCastException:
org.apache.xerces.jaxp.DocumentBuilderFactoryImpl incompatible with
javax.xml.parsers.DocumentBuilderFactory
 at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
 at
org.eclipse.wst.common.internal.emf.utilities.DOMUtilities.newSchemaOnly
ValidationDocumentBuilder(DOMUtilities.java:818)
 at
org.eclipse.wst.common.internal.emf.utilities.DOMUtilities.loadDocumentU
singSchemaOnlyValidation(DOMUtilities.java:1020)
 at
org.eclipse.wst.common.internal.emf.resource.EMF2DOMRenderer.loadDocumen
t(EMF2DOMRenderer.java:402)
 ... 65 more
 
 
In the 8.5.7 release, the ClassCastException can be fixed by adding custom property "teamworks.servicedeploy.externalDependencyClassLoader" with value "pre8010Default" to IID connected Process Center server.
 
You can add the custom property in the following way:
Click Servers > Server Types > WebSphere application servers > server_name
and then, under Server Infrastructure,
Click Java and process management > Process definition > Java virtual machine > Custom properties
 
Enabling the property will lead to one tiny issue. Some temp files can't be dropped/deleted automatically. If needed, you can delete them manually: <profile>/temp/com.ibm.bpm.fds/*
 
So to summarize, if you see the ClassCastException while deploying an application, you can solve it by setting the custom property as mentioned above. Once the deployment finishes, you can remove the property and restart server without the deletion issue, or you can keep the property and remove the temp files manually if needed.
 

[{"Business Unit":{"code":"BU004","label":"Hybrid Cloud"},"Product":{"code":"","label":""},"Component":"","Platform":[{"code":"","label":""}],"Version":"","Edition":""}]

UID

ibm11080741