Thursday, 17 September 2026
Wednesday, 16 September 2026
SOA 12c -Weblogic configuration for Database Adapter
SOA 12c -WebLogic configuration for Database Adapter consists of below steps
1.Create and configure data source and note down it's JNDI
2.Create and configure outbound connection pool and note down it's JNDI
3. Update DB Adapter
login to WebLogic console
Go to Data sources under Services
Click new
give data source name & JNDI Name and note it down
Fillin the database details
jdbc/DBDatasource
for that go to deployment section and DbAdapter
Plan file path will come next if you are configuring for first time , modify the name if you want-
Thursday, 10 September 2026
Wednesday, 9 September 2026
Troubleshooting SOA12c
Please find the SOA 12c Auto Purging functionality explained below-
Please find the different troubleshooting scenarios for SOA
Tuesday, 8 September 2026
SOA 11g - 12c migartion issue fixes
Here are few list of migration issue list (SOA 11g- 12c) and fixes
Problem1: 'jca.retry.count’ error
While running some of the composite, transaction was getting rolled back with below error message –
Cannot parse JCA binding retry property 'jca.retry.count', value '0' due to: Value of JCA binding retry property
'jca.retry.count' must be a positive number: Cannot parse JCA binding retry property 'jca.retry.count', value '0' due to:
Value of JCA binding retry property 'jca.retry.count' must be a positive number</summary>
,code=<code>oracle.fabric.common.FabricException</code>
,detail=<detail>oracle.fabric.common.FabricException: javax.resource.ResourceException: Cannot parse JCA binding
retry property 'jca.retry.count', value '0' due to: Value of JCA binding retry property 'jca.retry.count' must be a positive
number: Cannot parse JCA binding retry property 'jca.retry.count', value '0' due to: Value of JCA binding retry property
'jca.retry.count' must be a positive number
at oracle.integration.platform.blocks.event.jms2.EdnBus12c.publish(EdnBus12c.java:1438
Solution 1:
This error was coming because ‘0’ was set for “NumberofRetry” located at this path
We have modified soainfrastructure>>
SOA Administration>> common properties>> More SOA Advance Configuration Properties >> Application
Defined Beans >> oracle.as.soainfra.config>>EDNConfig>>edn
I believe some internal changes been made for EDN delivery retry mechanism. Earlier as part of 11g, we were able to set “NumberOfRetry=0” but when we carried forward same value for SOA Suite 12c then composite start failing JCA error as listed above.
To fix this error we just change “NumberOfRetry =1” or any positive number up to 5.
Note: Setting number of “NumberOfRetry” =1 does not retry failed JCA transaction automatically.
Refer this document for detailed understanding about different value of NumberOfRetry and its impact.
Problem 2: ORA01400: cannot insert NULL into ("TST01_SOAINFRA"."AUDIT_DETAILS"."CI_PARTITION_DATE")
While running composite in test environment, we were getting below error message.
ORA01400:
cannot insert NULL into ("TST01_SOAINFRA"."AUDIT_DETAILS"
org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLIntegrityConstraintViolationException: ORA01400:
cannot insert NULL into("TST01_SOAINFRA"."AUDIT_DETAILS"."CI_PARTITION_DATE")
Error Code: 1400
Call: INSERT INTO AUDIT_DETAILS (CIKEY, DETAIL_ID, BIN, BIN_CSIZE, BIN_USIZE, DOC_REF, FLOW_ID, CI_PARTITION_DATE,
SCA_PARTITION_ID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
bind => [9 parameters bound]
Query: InsertObjectQuery(AuditDetails flowId:
650233
componentId: 1415333
detailId: 1055735
docRef: null
binUsize: 0
binCsize: 0
partitionDate: null)
Solution 2:
This error was related to “CI_PARTITION_DATE” column value inside “AUDIT_DETAILS” table. This error was coming specific to TEST environment. Later we find out this was related to “Audit Level” configuration which we can set at this PATH SOA-Infra>>SOA-Infrastructure>>SOA Administration>> Common Properties >> Audit Level to “Development” value.
This “Audit Level” property has two possible values a) Production and b) Development. In both cases, it does different level of logging. It’s obvious to understand that when we use “Audit Level = Development” , it does more extensive logging using “Audit_Details” table and was throwing above error.
The temporary fix of this error to change “Audit Level = Off/Production”, in this case error won’t get generated.
The permanent fix we got from Oracle after raising the SR. Oracle advised to install PATCH 24794863 which fixed this issue permanently.
Problem 3: Composite aka BPEL Code fixes
“bpel.config.inMemoryOptimization” and “bpel.config.transaction” properties were causing unexpected behavior while BPEL execution.
Solution 3:
The existing BPEL code where utilizing above 2 properties, but in 12c SOA Suite environment the BPEL containing above properties were causing issues while BPEL execution, transaction were getting stuck and were getting rolledback as well.
Later, after digging around a lot we came to know that these property were causing the issue, though these property are well supported in 12c as per Oracle comment.
Since these property does not have any significant impact on BPEL execution, to fix this problem we simply removed these properties from composite.xml.
Before
After
Read below links, in case need detail understanding about these two properties behavior.
Problem 4: Non-blocking Invoke Issue
This issue also related to some of composite aka BPEL process. BPEL 11g offer execution of parallel flow using “nonBlockingInvoke” BPEL Partner link property. However, existing composite having parallel flow was getting stuck while execution. Audit trail was showing only first branch execution, later it didn’t do anything, Instance just get stuck.
Solution 4:
In 11g threading model was having three different threading configuration Dispatcher Invoke, Dispatcher Engine, and Dispatcher System Threads respectively wherein we can specify how much treads count each category of threads required.
However, In SOA12c weblogic has changed its threading model completely. Now, instead of just 3 threading category, we have many work manager created to control thread count for various purpose. One of the work manager “default_dspNonBlock” also been created to handle parallel flow execution. This work manager has min constraint “default_dspNonBlock_minThreads_1” defined having default value 1, as result only thread can execute despite having parallel flow activity inside BPEL code.
To fix this problem we need to increase the count of min thread constraint “default_dspNonBlock_minThreads_1” default value to some higher value e.g. 5
Problem 5: ORA-00001: unique constraint (TST01_SOAINFRA.SCA_FLOW_INSTANCE_PK) violated
Once we converted the SOA Suite 11g BPEL code to SOA Suite 12c format and deployed into SOA 12c environment. The very first error we faced is the below error. The impact of this error was every single BPEL composite instance was getting rolled back.
Internal Exception: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (TST01_SOAINFRA.SCA_FLOW_INSTANCE_PK) violated
Solution 5:
The above error was bug in SOA Suite 12c and Oracle has already released the patch 21571205 for this error.
6.However, since you will be working on migrating projects from previous versions to 12c, you might face an error message displayed as follows for any composites which were initially developed using JDeveloper 11g:
Unable to read the diagram details.
Solution:
In the composite.xml file, find the following two properties:
<property name=”originalProductVersion” type=”xs:string” many=”false”>11.0.0.0.0</property>
<property name=”productVersion” type=”xs:string” many=”false”>12.2.1.0.0.151013</property>
Unable to read the diagram details.
Solution:
In the composite.xml file, find the following two properties:
<property name=”originalProductVersion” type=”xs:string” many=”false”>11.0.0.0.0</property>
<property name=”productVersion” type=”xs:string” many=”false”>12.2.1.0.0.151013</property>
Remove the originalProductVersion property, then compile and deploy again to your 12c environment. You should now be able to see the composite definition.
7. Use new XPath functions in the BPEL/Mediator components.
For instances:
For instances:
- Earlier releases of Oracle SOA Suite 11g encouraged the use of getCompositeInstanceID() as a way to identify and track the running instances. With the advent of the Flow ID concept, it is advisable to use the getFlowID() function where the FlowID of the instance needs to be tracked. getCompositeInstanceID() → getFlowID()
- Also, be observant for the change in the namespace prefix for some of the functions. For example, bpelx:copyList() should be used instead of ora:copyList(), although both the functions are available.
8.Oracle Document to refer
9. Problem
During the migration of 11g server to 12c, faced an issue where OSB Proxy Service whose Transport Configuration is JMS cannot consume messages from the desired endpoint URI which is a JMS queue. The message remains pending state in the respective JMS queue.
Solution
On investigation, identified that below necessary Weblogic environment parameter is not in place:
-Djavax.xml.namespace.QName.useCompatibleHashCodeAlgorithm=1.0
The above parameters should be present in all the managed servers of OSB as well as in the Admin server.
Step by Step Guide:
Option 1: Update from Front End –
Log into Weblogic Admin Console
Click on Lock and Edit button on the left-hand side corner
Click on Servers and then first managed server of OSB (Later click on all the other OSB servers and Admin server as well)
Under Configuration tab > Go to Server Start
Edit the Arguments to reflect like below:
“-Xrs -Djavax.xml.namespace.QName.useCompatibleHashCodeAlgorithm=1.0”
NOTE: If there are more arguments present for your server, then do not remove them but do add the one highlighted in bold.
Option 2: Update from Back End –
Go to $DOMAIN_HOME/bin/setDomainEnv.sh
Edit the above setDomainEnv.sh and insert the below parameter so that it looks like:
“-Djavax.xml.namespace.QName.useCompatibleHashCodeAlgorithm=1.0”
NOTE: If there are more arguments present for your server, then do not remove them but do add the one highlighted in bold.
An important step to be performed after one opt for either of the above options:
Delete temp, cache and stage directories and restart all the OSB and Admin servers
Delete and then re-deploy/re-import those OSB projects which are consuming messages from JMS Queue
Subscribe to:
Posts (Atom)
-
The procedures in this blog explain how to migrate the services from an existing SOA Suite 11g domain to SOA Suite 12c (12.1.x or 12.2.x). L...
-
Here are few list of migration issue list (SOA 11g- 12c) and fixes Problem1: 'jca.retry.count’ error While running some of the compos...
-
Oracle SOA Suite 12c Features Oracle introduced SOA Suite 12c with several new features and enhancements aimed at improving development p...