Wednesday, June 15, 2016

Oracle® SOA 12c (12.1.3 and 12.2.1) Setting Composite Title using a mediator

The setCompositeInstanceTitle operation is no longer supported in 12c. It has been replaced with oraext:setFlowInstanceTitle operation. 

To use this operation in SOA 12c (12.1.3) specifically , we need to install Patch 18310693.

Pre-install Instructions for the patch

  • Set the ORACLE_HOME environment variable to the directory where you have installed Oracle SOA Suite.

  • Stop all servers (AdminServer and all Managed server(s)).

Installation Instructions

  • Unzip the patch zip file into the PATCH_TOP.

   $ unzip -d PATCH_TOP

  • Set your current directory to the directory where the patch is located.

    $ cd PATCH_TOP/18310693

  • Run OPatch to apply the patch.

   $ opatch apply

  • Once the patch has checked all the imperative prerequisites, it will prompt to proceed with installation. Please enter Y and press Enter.

  • On successful installation, you should see the following results.

SOA 12c 12.1.3 is now ready testing the setSlowInstanceTitle.

Changes to the Mediator

  • Click on the Assign button of the Mediator and setthe following property

  • Please ensure that you use the operation setFlowInstanceTitle() as shown below
         oraext:setFlowInstanceTitle(string('The tilte is'))

  • Build your code and deploy it. You should be able to the Tile in the Enterprise Manager

Monday, June 13, 2016

Oracle® Weblogic 12.2.1: How to implement a custom UUID in for Toplink EJB 3.0

To implement a custom sequence strategy you can subclass org.eclipse.persistence.sequencing.Sequenceor StandardSequence 

StandardSequence assumes a numeric value being used so Sequence will be used for this example to return a random UUID value.

Implementation of UUIDSequence
package com.mindtelligent.worklist.model;

import java.util.UUID;
import java.util.Vector;

import org.eclipse.persistence.config.SessionCustomizer;
import org.eclipse.persistence.internal.databaseaccess.Accessor;
import org.eclipse.persistence.internal.sessions.AbstractSession;
import org.eclipse.persistence.sequencing.Sequence;
import org.eclipse.persistence.sessions.Session;

public class UUIDSequence extends Sequence implements SessionCustomizer {

public UUIDSequence() {

public UUIDSequence(String name) {

public Object getGeneratedValue(Accessor accessor,
AbstractSession writeSession, String seqName) {
return UUID.randomUUID().toString().toUpperCase();

public Vector getGeneratedVector(Accessor accessor,
AbstractSession writeSession, String seqName, int size) {
return null;

public void onConnect() {

public void onDisconnect() {

public boolean shouldAcquireValueAfterInsert() {
return false;


public boolean shouldUseTransaction() {
return false;

public boolean shouldUsePreallocation() {
return false;

public void customize(Session session) throws Exception {
UUIDSequence sequence = new UUIDSequence("system-uuid");




Registering Sequence

Add a property to persistence.xml

 <property name="eclipselink.session.customizer" value="com.mindtelligent.worklist.model.UUIDSequence"/> 



Change the EJB 3.0 Class 

@Column(name="ADDRESS_ID", nullable = false, length = 50)

Where ADDRESS_ID is the Primary Key of the table

Oracle Customer Care and Billing 2.6 IWS Services to be accessed from SOA 11g running JDK 1.6

Oracle Customer Care and Billing 2.6 is deployed on WebLogic 12c. Web l ogic 12c uses JDK 1.8, which uses TLS1.2 for Transport Level Sec...