Troubleshooting the Business Process Management Profile
This topic provides detailed guidance, helpful hints and solutions for troubleshooting issues related to the Business Process Management profile (EI Business Profile) of WSO2 EI. It includes solutions for critical issues and recommendations for handling them.
Item | Log | Possible cause(s)/recommendation(s) |
| Debug a BPEL process using the event table provided for each BPEL instance or the message tracer. | Either of the following can be used to debug a BPEL process:
|
2. Enable message tracing
| Get a message trace for a particular BPEL invocation. |
|
3. Enable wire logs | Get wire logs for backend calls doing from the business process. | Append the following entry to loggers section in httpclient-wire-content |
4. Cannot find DeploymentUnitDAO instance for package: Recover from inconsistencies of BPEL database against the registry | ERROR - TenantProcessStoreImpl - Cannot find DeploymentUnitDAO instance for package CustomerInfo-2. ERROR - BPELDeployer - Error deploying BPEL package: org.wso2.carbon.bpel.ode.integration.store. at at org.wso2.carbon.bpel.ode.integration.store.TenantProcessStoreImpl. at org.wso2.carbon.bpel.ode.integration.store.TenantProcessStoreImpl. at org.wso2.carbon.bpel.BPELDeployer. at org.apache.axis2.deployment.repository.util.DeploymentFileData. at org.apache.axis2.deployment.DeploymentEngine. | To recover, follow the steps mentioned below.
|
5. Deployment Descriptor | The deploy.xml file acts as the deployment descriptor for a BPEL package. | It maps configuration information (partner links, WSDL service and port) for processes in a BPEL archive. |
6. Does not contain a deploy.xml file
| TenantProcessStoreImpl - Directory BPS_HOME/repository/bpel/-1234/FunctionProcess-4 does not contain a deploy.xml file! | The following issues are common: 1. Missing deploy.xml file in the process archive (BPEL zip package). OR 2. Invalid package structure. The BPEL archive structure should be similar to the structure shown below. |
7. BPEL Compilation Failure: Invalid QName value | BpelC - info: [CompilingProcess] Compiling BPEL process. |
|
8. Cannot find Process definition for type | BPELDeployer - Error deploying BPEL package: TestCounter.zip org.wso2.carbon.bpel.ode.integration.store.BPELDeploymentException: Aborting deployment. Cannot find Process definition for type {http://www.apache.org/ode/schemas/dd/2007/03} test_name. |
|
9. BPEL Deployment Failure: Invalid boolean value | org.apache.xmlbeans.impl.values.XmlValueOutOfRangeException: Invalid boolean value | The Check for |
10. Cannot find WSDL definition for provide service | org.apache.ode.bpel.iapi.ContextException: Cannot find WSDL definition for provide service {http://wso2.org/bps/samples/CustomerInfo}CustomerInfoService1. Required resources not found in the BPEL package CustomerInfo-12. |
|
11. Cannot find provide port in the given service | org.apache.ode.bpel.iapi.ContextException: Cannot find provide port in the given service { http://wso2.org/bps/samples/CustomerInfo}CustomerInfoService . Error in deploy.xml | The port name given in the deploy.xml file and the WSDL should match. E.g.: |
12. Reference to unknown partner link | org.apache.ode.bpel.iapi.BpelEngineException: Error in deployment descriptor for process { http://wso2.org/bps/samples/CustomerInfo}CustomerInfo-12 ; reference to unknown partner link CustomerInfoPL1 | The partner link name(s) given in the deploy.xml file and the BPEL configuration (.bpel) file should match. E.g.: |
13. BPEL Process Configurations | It represents activities carried out within a business process written using WS-BPEL. There are two types of Activities as follows:
|
|
14. Attempt to reference undeclared variable | BpelC - null:60: error: [UndeclaredVariable] Attempt to reference undeclared variable "tmpVar" | Declare variables by specifying a name and one of the three type attributes such as type, messageType or element. E.g.: <variable name="tmpVar1" type="xsd:string"/> <variable name="tmpVar2" messageType="myNS:myWSDLMessageDataType" /> <variable name="tmpVar3" element="myNS:myXMLElement" />
|
15. bpel:Compilation Failure | cvc-complex-type.2.4.d: Invalid content was found starting with element 'from'. No child element is expected at this point cvc-complex-type.2.4.a: Invalid content was found starting with element 'from'. One of '{"http://docs.oasis-open.org/wsbpel/2.0/process/executable":documentation, WC[##other:"http://docs.oasis-open.org/wsbpel/2.0/process/executable"], "http://docs.oasis-open.org/wsbpel/2.0/process/executable":targets, | The Assign activity is faulty. E.g.: The error line starts from ' from '. Error is due to a missing child element The corrected assign operation is shown below. E.g.: <assign name="assign1"> <copy> <from variable="myVar" part="TestPart"/> <to variable="tmpVar"/> </copy> </assign> The assign activity contains one or more copy operations. Each copy operation has a from–spec and a to–spec, indicating the source and target elements where data gets copied from and to, respectively. |
16. bpel:selectionFailure Fault: 01
| INFO - ASSIGN - Assignment Fault: {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure, |
Namespace Definition: xmlns:abc="http://www.abc.com/xyz/test_Session_Service/" use namespace qualified xpath expression as "$createSessionRequest.parameters/abc:session/abc:forCustomerId" OR "$createSessionRequest.parameters/abc:session/*[local-name() = 'forCustomerId']". (use local-name = 'someString' to avoid namespaces verification) |
17. bpel:selectionFailure Fault: 02 | selectionFailure: No results for expression: {OXPath10Expression TestNumber} | Specify the namespace of the TestNumber element. E.g.: xmlns:sample="http://www.sample.org/namespace" <bpel:to part="parameters" variable="AuthRequest"> <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"> <![CDATA[sample:TestNumber]]> </bpel:query> </bpel:to> |
18. Couldn't validate properly expression doXslTransform | XPath20ExpressionCompilerBPEL20 - Couldn't validate properly expression doXslTransform("HelloXslWorld.xsl", $myVar.TestPart, 'middle', $otherVar) | Add the namespace prefix to the assign activity. Namespace Definition: xmlns: bpws ="http://docs.oasis-open.org/wsbpel/2.0/process/executable" Assign operation: <assign validate="no" name="XSLT"> <copy> <from> <![CDATA[bpws:doXslTransform ("transform.xslt", $requestLoanRequest.request)]]> </from> <to> <![CDATA [$riskAssessmentRequest.request]]> </to> </copy> </assign>
|
19.UndeclaredPropertyAlias:propertyAlias with correlation sets | [UndeclaredPropertyAlias] The property "{http://tempuri.org/services/loanApproval}correlatorProp" does not have an alias for message type "OMessageVarType#41 | If there are two places where correlation is used, there should be at least two " propertyAlias " definitions, unless you use the same wsdl message in both places. I.e.:
You need to have an element per message to map the correlation property. The type of the element of the message should be similar to the type of the correlation property. A sample configuration for correlation initialization is shown below: <invoke> <correlations> <correlation set="correlator" initiate="yes" pattern="response"> </correlation> </correlations> </invoke> |
20. Service already used by another process | ERROR - TenantProcessStoreImpl - Service: {http://wso2.org/bps/samples/LoanProcess}LoanProcessService already used by another process. Try again with a different service name | Either of the following can be the reason.
Solution is to use different service names. |
21. Engage WS-Addressing | WS-Addressing module is engaged by default. It is mandatory to use WS-Addressing when invoking services. | Define the ‘ <soap:operation soapAction="urn:getCustomerSSN" /> |
22. Datasources Configurations | Following files are used to hold the information on datasources.
| A sample bps-datasources configuration is shown below. <datasource> <name>BPS_DS</name> <description></description> <jndiConfig> <name>bpsds</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url>jdbc:mysql://localhost:3306/bps</url> <username>wso2carbon</username> <password>wso2carbon</password> <driverClassName>com.mysql.jdbc.Driver</driverClassName> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> <useDataSourceFactory>false</useDataSourceFactory> <defaultAutoCommit>true</defaultAutoCommit> <maxActive>100</maxActive> <maxIdle>20</maxIdle> <maxWait>10000</maxWait> </configuration> </definition> </datasource> A sample activiti-datasources configuration is shown below. <datasource> <name>ACTIVITI_DB</name> <description>The datasource used for activiti engine</description> <jndiConfig> <name>jdbc/ActivitiDB</name> </jndiConfig> <definition type="RDBMS"> <configuration> <url>jdbc:mysql://localhost:3306/act</url> <username>wso2carbon</username> <password>wso2carbon</password> <driverClassName>com.mysql.jdbc.Driver</driverClassName> <maxActive>50</maxActive> <maxWait>60000</maxWait> <testOnBorrow>true</testOnBorrow> <validationQuery>SELECT 1</validationQuery> <validationInterval>30000</validationInterval> </configuration> </definition> </datasource> |
23. Empty password for datasource | ERROR - BPELServerImpl - Error creating BPELDatabaseCreator [Known Issue] | The datasource password value cannot be empty on the files bps-datasources.xml and activiti-datasources.xml. <password>xxxxx</password> |
24. Cannot find DeploymentUnitDAO instance for package | WARN - ProcessStoreImpl - Cannot find deployment unit information on DB for deployment unit LoanService-4 | You might have initially started the server with invalid datasource configurations and later tried to restart the server by modifying the configurations. In that case, the server will throw a BPEL package deployment error. To recover, follow the steps mentioned below.
|
25. Wrong user name or password in registry dbConfig:Failed to create database tables for registry resource store | FATAL - DatabaseCreator - Failed to create database tables for registry resource store. Cannot create PoolableConnectionFactory (Wrong user name or password [8004-140]) |
|
26. Cannot create JDBC driver of class | Cannot create JDBC driver of class 'com.mysql.jdbc.Driver' for connect URL 'mysql://localhost:3306/bps' | To recover, follow the steps mentioned below:
|
27. Failed to resolved external DataSource at.. | ERROR - Database - Failed to resolved external DataSource at "bpsds". |
|
28. Instance creation failed with correlationViolation | axis2ns2:correlationViolation - Error message in the client side | This error occurs when already there is an active instance associated with the same correlation value that's being used to create the latest instance. As a solution, unique correlation value should be used to create new instance. |