11
Here we are going to demonstrate how to undo series of scopes that are successfully executed Start the admin server and soa server. Check the status of servers by logging into admin console(http://localhost:7001/console) Create synchronous service as shown below: Now go and modify your xsd to contain two input elements for request and three elements for response. Your XSD will look like below:

Compensation

Embed Size (px)

Citation preview

Page 1: Compensation

Here we are going to demonstrate how to undo series of scopes that are successfully executed

Start the admin server and soa server.

Check the status of servers by logging into admin console(http://localhost:7001/console)

Create synchronous service as shown below:

Now go and modify your xsd to contain two input elements for request and three elements for response.

Your XSD will look like below:

Page 2: Compensation

Now go to BPEL. Your BPEL should look like below:

Now take an assign activity after receiveinput activity and assign default values

“0” to add_result“-1” to sub_result“Infinity” to div_result

Page 3: Compensation

Your assign activity should look like below:

Now click on apply .Now your BPEL should look like below:

Page 4: Compensation

Now add three scope activities after assign activity and name them as scope_add, scope_sub and div_scope.

Now your BPEL should look like below:

Page 5: Compensation

Now open the scope_add and do the addition functionality.

Now your scope_add should look like below:

Now add a compensation handler by clicking on the symbol as shown below:

Page 6: Compensation

Now your scope_add will look like below:

Now expand the compensation handler, take an assign activity , create a copy operation and assign “0” toadd_result .

Now your BPEL should look like below:

Page 7: Compensation

In the same way do it for Scope_sub and this time assign “-1” in the compensation handler’s assign activity. Nowyour scope_sub will look like below:

Now we have to implement the scope_div scope.

Page 8: Compensation

Expand the scope_div scope and implement the same functionality as we have implemented for business faults:

Now your BPEL should look like below:

Now go to global scope and add either catch block/ catch all block.If you have added catch block you have to configure the catch block with the details as follows:http://soasolutions.com/devideBYZeroExceptiondevideBYZeroException.Now your global scope should look like below:

Page 9: Compensation

Now take a compensate activity into the catch block as shown below:

Now double click on the compensate activity and change the details as shown below:

Page 10: Compensation

Now click on apply and okNow take a reply activity, configure it with output variable and wire it to partner link .Now your final BPEL should look like below:

Now make, deploy and test the service.

BY SOASOLUTIONS