Correlation definition not registered

Issue –> Getting the below error while testing the SOA Suite 12.2.1.0 composite.

Error –> The correlation set definition for operation EmpGet, process default/TestRestService!1.0*soa_a29a2d8a-07ef-4d98-8f01-be318407d966/RESTBPELProcess, is not registered with the server. The correlation set was not defined in the process. Redeploy the process to the container.

Solution –> I have un delpoyed the composite and restart the server and then re deployed the composite , issue resolved.

How to search OSB reports in SOA Suite 12.2.1.0

In our previous releases of OSB, we will search the OSB reports in SBconsole.

But in SOA Suite 12.2.1.0 we will find these reports in EM console.

Login to EM console.

Click on SOA partition and then  Click on “Service-bus(Adminserver)”report

It will open service bus window . Go to Service bus and click on Message Reports.

report2

It will open the below window where you can search your reports.report3

Creating SOA-INFRA partitions in SOA Suite 12.2.1.0

In this post we will see how to create partitions in SOA Suite 12.2.1.0

Navigation –>

Go to SOA-INFRA and click on your soa_server

partition

Click on Manage Partition to create your own partition.

partition4

It will open Manage partition window , Click on Create .partition2

it will open a window to create your partition, Give the partition name and click on CREATE.

partition3

That’s it you are done with creating a partition , now you can deploy your composites to this new partition.

Publishing REST service using SOA SUITE 12.2.1.0.0

In this post we will see how to create restful services using SOA Suite 12.2.1.0.0

To achieve this we need to Create a empty project .

Now we have to create a schema to use in this example.

I have created the below schema for our process.

rest1After creating the schema right click on Exposed services and click on select REST.rest2

Now it will open a new window to configure REST Binding, give the name and click on Next Now click on + button in Methods section .

rest3rest4

Now it brings up the “Rest Method Definition” window, give the method name, HTTP verb and select Schema for request.

rest5

Go to response tab and select the schema for response, and click on OK to complete the rest setup.rest6

Click on Finish , it will creates the rest binding .

Now go to components tab and right click and create a BPEL process and provide the schema details for input and output .

Make sure you un select “SOAP binding”.rest7

Inside bpel process Assign some value to output variable and you are done with creating REST Binding service.

rest8

Deploy the SAR to server and TEST the results.

How to create sensors in SOA suite 11g

BPEL Sensors can be very useful to extract information from the execution of a process,We can use sensors for debugging purpose.

We have 3 types of sensors.

  • Activity sensors –>Activity sensors are used to monitor the execution of activities within a BPEL process. For example, they can monitor the execution time of an invoke activity or how long it takes to complete a scope. Along with the activity sensor, you can also monitor variables of the activity.
  • Variable sensors–> Variable sensors are used to monitor variables (or parts of a variable) of a BPEL process. For example, variable sensors can monitor the input and output data of a BPEL process.
  • Fault sensors –>Fault sensors are used to monitor BPEL faults.

When we create sensors in a composite it will creates 2 files .

  • bpel_process_name_sensor.xml --> Contains the sensor definitions of a BPEL process
  • bpel_process_name_sensorAction.xml--> Contains the sensor action definitions of a BPEL process

We will see how to create variable sensors.

Creating Activity sensors –>

Open your bpel process and click on monitor.

sensor1

Then go to the “monitoring process” on the left hand side and click on sensors.

sensor2

It will open ‘sensors’ window.

click on “+” on right hand side, and click on “Activity Sensor”.sensor3Then it will open a new window, give the name to and activity on which you want to create a sensor in my case its “Receive” activity.

Select the Evaluation type as “Activation” and go to next section i.e, Activity sensor variable and click on +button.sensor4

Then it will open “Create Activity variable sensor window”  , here click on the pen button in the right hand corner to provide the variable which has to be captured for monitoring.sensor5

Click Ok after selecting the variable.Now we have to create the sensor action (where to store this sensor information).

Go to Sensor action section and click on + button , it will open the Sensor Action chooser page click on + button , give sensor action name and select the publish type as “database” as i want to store the data in database. Click on OK.sensor6

Once everything is done your window looks like this.Click on OK to complete.sensor7

Create Composite Sensors –>

Step1: To create sensors ,Click the Composite Sensor icon above the SOA Composite Editor
Step2: Composite sensors window will pop up.Click on “+” icon to create composite sensor.
Step3: In the next window, give the name to sensor and define expression to assing value to this sensor.

Step4: You will see the input payload only in our usecase as our BPEL process is one way only.Drill down to Employee ID and click OK.

Step5: Now under sensor actions you will see two options Enterprise Manager and JMS Queue.

  • Enterprise Manager

Select to make runtime sensor data searchable in the Instances tab of a SOA composite application in Oracle Enterprise Manager Fusion Middleware Control.

  • JMS Queue

Select to store composite sensor data (XML payload) in a JMS queue. You must specify the JMS connection factory and queue name.In our case we will use Enterprise Manager

Step6:Our Composite sensor EmployeeID is created .Click OK.

Step7: Under your projects on left hand side you can see two new files getting created sensor.xml and sensorActiuon.xml. These files contains list of all the sensors configured for particular composite and along with their actions.

Step8: Compile and deploy your code to EM and test the Sensors composite.Pass the values in employeeid,Fname and Lname.

Step9: Now Open up flow trace for the request you triggered.Expand the sensors tab just below Flow Trace.You will see EmployeeID as sensor and its value that we passed in the input.

Step10: Go back to your Composite in EM and go to Instances tab.Just next to Search,Reset Buttons you will see a new button :AddFields. Click on that and select EmployeeID.

Step11: New search field “EmployeeID” will be added in the Search box along with all other existing search criterias.In this way you can search your instances by passing employeeID field value.

Composite sensors are very important from support and operations point of view as we can set custom search fields using which we can search for our composite instances.

How to set composite instance title

you can set the composite instance title to your process, this will help you in monitoring the instances .

By giving the instance title in the name field of the instances you can get the exact instance.

Steps :-

Add assign activity after the receive activity and assign name to Title variable.

Create a variable as string and name it as “InstanceTitle”.setin

Function –>

ora:setCompositeInstanceTitle(bpws:getVariableData(‘inputVariable’,’payload’,’/client:process/client:input’))

Assign this function to variable “InstanceTitle”.

setinst1setinst2

That’s all, we are done with setting the instance title.

Undeploying SOA Composite when Soa-Infra is Down (MDS-00054)

Aim :-
Undeploying SOA Composite while soa-infra is down.

Mainly this task is required when starting soa server, soa-infra application wont come up due to corrupt composite which stops the soa-infra to be in active state. The solution also applies in the case where the server itself is failing to come up / stay up due to a bad deployment.

Solution :-
Check the soa logs and determine which composite is causing the problem and then follow the below process to Undeploy SOA composite by editing deployed-composites.xml

1. Download and copy the ShareSoaInfraPartition.ear file to $MIDDLEWARE_HOME/oracle_common/common/bin

2. cd to $MIDDLEWARE_HOME/oracle_common/common/bin

and
run wlst.sh

3.
connect()
provide username, password and server URL

4. run the below command to deploy ShareSoaInfraPartition.ear
deploy(‘ShareSoaInfraPartition’,’ShareSoaInfraPartition.ear’,upload=’true’)

5. Now run the below command by changing the “toLocation” (‘/fmw11g/fmw1115/Middleware’ is some location path on SOA machine)
exportMetadata(application=’ShareSoaInfraPartition’,server=’AdminServer’,toLocation=’/fmw11g/fmw1115/Middleware’,docs=’/deployed-composites/deployed-composites.xml’)

6. A deployed-composites folder will be created at “toLocation” path with deployed-composites.xml in it
7. Delete the composite which is causing the problem and save the file
For example i am MediatorTest composite like below
<composite-series name=”default/BpelTest” default=”default/BpelTest!1.0″>
<composite-revision dn=”default/BpelTest!1.0″ state=”on” mode=”active” location=”dc/soa_58b98be8-9ec8-41af-bb83-590f6004d1aa”>
<composite dn=”default/BpelTest!1.0*soa_58b98be8-9ec8-41af-bb83-590f6004d1aa” deployedTime=”2014-12-13T07:10:23.340+05:30″/>

8. Now run the below command by changing the “fromLocation” (this should be the same location as previous)
importMetadata(application=’ShareSoaInfraPartition’,server=’AdminServer’,fromLocation=’/fmw11g/fmw1115/Middleware’,docs=’/deployed-composites/deployed-composites.xml’)

9. Now bounce your server and the composite will not be deployed by SOA when it comes up and hence that should bring your soa-infra up.