http://git-wip-us.apache.org/repos/asf/incubator-servicecomb-website/blob/08e1b43f/content/docs/quick-start-dataconsistency/index.html
----------------------------------------------------------------------
diff --git a/content/docs/quick-start-dataconsistency/index.html 
b/content/docs/quick-start-dataconsistency/index.html
new file mode 100644
index 0000000..be386fe
--- /dev/null
+++ b/content/docs/quick-start-dataconsistency/index.html
@@ -0,0 +1,951 @@
+<!doctype html>
+<!--
+  Minimal Mistakes Jekyll Theme 4.4.1 by Michael Rose
+  Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
+  Free for personal and commercial use under the MIT license
+  https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt
+-->
+<html lang="en" class="no-js">
+  <head>
+    <meta charset="utf-8">
+
+<!-- begin SEO -->
+
+
+
+
+
+
+
+
+
+<title>Data consistency solution - Apache incubator ServiceComb</title>
+
+
+
+
+<meta name="description" content="Introduce how to use Saga data consistency 
solution provided by ServiceComb">
+
+
+
+
+<meta name="author" content="">
+
+<meta property="og:locale" content="en">
+<meta property="og:site_name" content="Apache incubator ServiceComb">
+<meta property="og:title" content="Data consistency solution">
+
+
+  <link rel="canonical" 
href="http://github.com/pages/ServiceComb/servicesomb.github.io/docs/quick-start-dataconsistency/";>
+  <meta property="og:url" 
content="http://github.com/pages/ServiceComb/servicesomb.github.io/docs/quick-start-dataconsistency/";>
+
+
+
+  <meta property="og:description" content="Introduce how to use Saga data 
consistency solution provided by ServiceComb">
+
+
+
+  <meta name="twitter:site" content="@ServiceComb">
+  <meta name="twitter:title" content="Data consistency solution">
+  <meta name="twitter:description" content="Introduce how to use Saga data 
consistency solution provided by ServiceComb">
+  <meta name="twitter:url" content="">
+
+  
+    <meta name="twitter:card" content="summary">
+    
+  
+
+  
+
+
+
+  
+
+  
+
+
+
+
+
+
+
+
+
+
+
+
+  <script type="application/ld+json">
+    {
+      "@context" : "http://schema.org";,
+      "@type" : "Person",
+      "name" : "Apache incubator ServiceComb",
+      "url" : "http://github.com/pages/ServiceComb/servicesomb.github.io";,
+      "sameAs" : null
+    }
+  </script>
+
+
+
+  <meta name="google-site-verification" 
content="HvJjNd7vvJ-yjSTHlBiIWEYxp_Hrz-PYEY5Idz9LRcA" />
+
+
+
+
+<!-- end SEO -->
+
+
+<link href="/feed.xml" type="application/atom+xml" rel="alternate" 
title="Apache incubator ServiceComb Feed">
+
+<!-- http://t.co/dKP3o1e -->
+<meta name="HandheldFriendly" content="True">
+<meta name="MobileOptimized" content="320">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+<script>
+  document.documentElement.className = 
document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
+</script>
+<script 
src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js";></script>
+<script src="/assets/js/prism.js"></script>
+
+<script type="text/javascript" async
+  
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML";>
+</script>
+
+<link rel="stylesheet" 
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css";
 
integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M"
 crossorigin="anonymous">
+
+<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"; 
integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
 crossorigin="anonymous"></script>
+<script 
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"; 
integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4"
 crossorigin="anonymous"></script>
+<script 
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"; 
integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1"
 crossorigin="anonymous"></script>
+<!-- For all browsers -->
+<link rel="stylesheet" href="/assets/css/main.css">
+<link rel="stylesheet" href="/assets/css/prism.css">
+
+<!--[if lte IE 9]>
+  <style>
+    /* old IE unsupported flexbox fixes */
+    .greedy-nav .site-title {
+      padding-right: 3em;
+    }
+    .greedy-nav button {
+      position: absolute;
+      top: 0;
+      right: 0;
+      height: 100%;
+    }
+  </style>
+<![endif]-->
+
+<meta http-equiv="cleartype" content="on">
+
+    <!-- start custom head snippets -->
+
+<!-- insert favicons. use http://realfavicongenerator.net/ -->
+<link 
href="https://fonts.cat.net/css?family=Roboto:400,500,700|Source+Code+Pro" 
rel="stylesheet">
+<script src="/assets/js/custom.js"></script>
+<!-- end custom head snippets -->
+
+  </head>
+
+  <body class="layout--single">
+
+    <!--[if lt IE 9]>
+<div class="notice--danger align-center" style="margin: 0;">You are using an 
<strong>outdated</strong> browser. Please <a 
href="http://browsehappy.com/";>upgrade your browser</a> to improve your 
experience.</div>
+<![endif]-->
+    <div class="masthead">
+  <div class="masthead__inner-wrap">
+    <div class="masthead__menu">
+      <nav id="site-nav" class="greedy-nav">
+             
+          <a class="site-title active" href="/"><img 
src="//assets/images/ServiceComb-logo-1.png"></a>
+             
+        <ul class="visible-links">
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a class="active" href="/docs/quick-start/">Quick Start</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/users/">Users</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/developers/">Developers</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/year-archive/">Blogs</a>
+              
+            </li>
+          
+            
+            <li class="masthead__menu-item">
+              
+              
+              
+                <a href="/faqs/">FAQ</a>
+              
+            </li>
+          
+        </ul>
+        <button><div class="navicon"></div></button>
+        <ul class="hidden-links hidden"></ul>
+        <div class="nav-lang">
+          
+            
+            <a href=/cn/docs/quick-start-dataconsistency/>中文</a>
+          
+        </div>
+      </nav>
+    </div>
+  </div>
+</div>
+
+
+    
+
+
+
+<div id="main" role="main">
+  
+  <div class="sidebar sticky">
+      
+      <div class="back-to-home">Home > <a href="/">ServiceComb</a></div>
+      
+  
+  
+    
+      
+      
+      
+    
+    
+      
+
+<nav class="nav__list">
+  
+  <input id="ac-toc" name="accordion-toc" type="checkbox" />
+  <label for="ac-toc">Toggle Menu</label>
+  <ul class="nav__items">
+    
+      <li>
+        
+          
+          
+
+          <a href="/docs/quick-start/"><span class="nav__sub-title 
nav__sub-title-with-url">Quick Start</span></a>
+        
+
+        
+      </li>
+    
+      <li>
+        
+          
+          
+
+          <a href="/docs/quick-start-bmi/"><span class="nav__sub-title 
nav__sub-title-with-url">Develop microservice application in minutes</span></a>
+        
+
+        
+      </li>
+    
+      <li>
+        
+          
+          
+
+          <a href="/docs/quick-start-advance/"><span class="nav__sub-title 
nav__sub-title-with-url">Advance microservice development</span></a>
+        
+
+        
+        <ul>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/quick-start-advance/load-balance/" 
class="">Load Balance</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/quick-start-advance/flow-control/" 
class="">Flow Control</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/quick-start-advance/service-management/" 
class="">Service Management</a></li>
+          
+            
+            
+
+            
+            
+
+            <li><a href="/docs/quick-start-advance/distributed-tracing/" 
class="">Distributed Tracing</a></li>
+          
+        </ul>
+        
+      </li>
+    
+      <li>
+        
+          
+          
+
+          <a href="/docs/quick-start-dataconsistency/"><span 
class="nav__sub-title nav__sub-title-with-url">Data Consistency 
Solution</span></a>
+        
+
+        
+      </li>
+    
+  </ul>
+</nav>
+
+    
+  
+  </div>
+
+
+
+  <article class="page" itemscope itemtype="http://schema.org/CreativeWork";>
+    <meta itemprop="headline" content="Data consistency solution">
+    <meta itemprop="description" content="Introduce how to use Saga data 
consistency solution provided by ServiceComb">
+    
+    <meta itemprop="dateModified" content="September 03, 2017">
+
+    <div class="page__inner-wrap">
+      
+        
+          <header>
+            <h1 class="page__title" itemprop="headline">Data consistency 
solution
+</h1>
+            
+          </header>
+        
+      
+
+      <section class="page__content" itemprop="text">
+        <aside class="sidebar__right">
+<nav class="toc">
+    <!-- <header><h4 class="nav__title"><i class="fa fa-file-text"></i> On 
This Page</h4></header> -->
+<ul class="toc__menu" id="markdown-toc">
+  <li><a href="#running-demo" id="markdown-toc-running-demo">Running 
Demo</a></li>
+  <li><a href="#verify-services" id="markdown-toc-verify-services">Verify 
services</a></li>
+  <li><a href="#whats-next" id="markdown-toc-whats-next">What’s next</a></li>
+</ul>
+
+  </nav>
+</aside>
+
+<p>This demo shows you how to use the Saga solution provided by ServiceComb to 
ensure the microservice for data consistency.</p>
+
+<p>With microservice architecture, each of the services may have its own 
database technology and it’s not feasible to ensure all transactions on these 
services are either committed or rolled back with database. In this demo, we 
make use of Saga to ensure eventual data consistency among services, the 
payment is only executed after car rental, flight booking, and 
hotel-reservation are completed.</p>
+
+<p>Travel application demo including four services</p>
+<ul>
+  <li>flight booking service</li>
+  <li>car rental service</li>
+  <li>hotel reservation service</li>
+  <li>payment service</li>
+</ul>
+
+<p><img src="/assets/images/saga-demo.png" alt="Saga-demo" /></p>
+
+<h2 id="running-demo">Running Demo</h2>
+
+<p>Note, demo is in the <a 
href="https://github.com/ServiceComb/ServiceComb-Saga";>ServiceComb-Saga</a> 
project.</p>
+
+<ol>
+  <li>Prerequisites
+    <ul>
+      <li><a 
href="http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html";>Oracle
 JDK 1.8</a></li>
+      <li><a href="https://maven.apache.org/install.html";>Maven 3.x</a></li>
+      <li><a href="https://www.docker.com/get-docker";>Docker</a></li>
+      <li><a href="https://dev.mysql.com/downloads/";>MySQL</a></li>
+      <li><a href="https://github.com/ServiceComb/service-center";>Service 
Center</a></li>
+      <li><a href="https://docs.docker.com/compose/install/";>Docker 
compose</a></li>
+    </ul>
+  </li>
+  <li>
+    <p>Configuration
+ Set service center address of each microservice in <em>microservice.yaml</em> 
file</p>
+
+    <div class="language-yaml highlighter-rouge"><pre class="highlight"><code> 
<span class="s">APPLICATION_ID</span><span class="pi">:</span> <span 
class="s">saga</span>
+ <span class="s">service_description</span><span class="pi">:</span>
+   <span class="s">name</span><span class="pi">:</span> <span 
class="s">flight-booking-service</span>
+   <span class="s">version</span><span class="pi">:</span> <span 
class="s">0.0.1</span>
+ <span class="s">cse</span><span class="pi">:</span>
+   <span class="s">service</span><span class="pi">:</span>
+     <span class="s">registry</span><span class="pi">:</span>
+       <span class="s">address</span><span class="pi">:</span> <span 
class="s">http://sc.servicecomb.io:30100</span> <span class="c1">#choose 
Service Center provided by ServiceComb</span>
+   <span class="s">rest</span><span class="pi">:</span>
+     <span class="s">address</span><span class="pi">:</span> <span 
class="s">0.0.0.0:8080</span>
+   <span class="s">handler</span><span class="pi">:</span>
+     <span class="s">chain</span><span class="pi">:</span>
+       <span class="s">Consumer</span><span class="pi">:</span>
+         <span class="s">default</span><span class="pi">:</span> <span 
class="s">loadbalance</span>
+</code></pre>
+    </div>
+
+    <p>Set deployment script in <em>saga-demo/docker-compose.yaml</em> file</p>
+
+    <div class="language-yaml highlighter-rouge"><pre class="highlight"><code> 
<span class="s">version</span><span class="pi">:</span> <span 
class="s1">'</span><span class="s">2.1'</span>
+
+ <span class="s">services</span><span class="pi">:</span>
+   <span class="s">service-center</span><span class="pi">:</span> <span 
class="c1">#choose Service Center image provided by ServiceComb</span>
+     <span class="s">image</span><span class="pi">:</span> <span 
class="s2">"</span><span class="s">servicecomb/service-center"</span>
+     <span class="s">hostname</span><span class="pi">:</span> <span 
class="s">service-center</span>
+     <span class="s">ports</span><span class="pi">:</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">30100:30100"</span>
+
+   <span class="s">mysql</span><span class="pi">:</span>  <span 
class="c1">#choose mysql image with 5.7 version</span>
+     <span class="s">image</span><span class="pi">:</span> <span 
class="s2">"</span><span class="s">mysql/mysql-server:5.7"</span>
+     <span class="s">hostname</span><span class="pi">:</span> <span 
class="s">mysql</span>
+     <span class="s">environment</span><span class="pi">:</span>
+       <span class="pi">-</span> <span 
class="s">MYSQL_ROOT_PASSWORD=password</span>
+       <span class="pi">-</span> <span class="s">MYSQL_DATABASE=saga</span>
+       <span class="pi">-</span> <span class="s">MYSQL_USER=saga</span>
+       <span class="pi">-</span> <span class="s">MYSQL_PASSWORD=password</span>
+     <span class="s">ports</span><span class="pi">:</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">3306:3306"</span>
+     <span class="s">healthcheck</span><span class="pi">:</span>
+         <span class="s">test</span><span class="pi">:</span> <span 
class="pi">[</span><span class="s2">"</span><span 
class="s">CMD-SHELL"</span><span class="pi">,</span> <span 
class="s2">"</span><span class="s">nc</span><span class="nv"> </span><span 
class="s">-z</span><span class="nv"> </span><span 
class="s">localhost</span><span class="nv"> </span><span 
class="s">3306</span><span class="nv"> </span><span 
class="s">&amp;&gt;</span><span class="nv"> </span><span 
class="s">/dev/null;</span><span class="nv"> </span><span 
class="s">echo</span><span class="nv"> </span><span class="s">$$?"</span><span 
class="pi">]</span>
+         <span class="s">interval</span><span class="pi">:</span> <span 
class="s">30s</span>
+         <span class="s">timeout</span><span class="pi">:</span> <span 
class="s">10s</span>
+         <span class="s">retries</span><span class="pi">:</span> <span 
class="s">5</span>
+
+   <span class="s">car-rental-service</span><span class="pi">:</span>
+     <span class="s">image</span><span class="pi">:</span> <span 
class="s2">"</span><span class="s">car-rental-service:0.0.2-SNAPSHOT"</span>
+     <span class="s">hostname</span><span class="pi">:</span> <span 
class="s">car</span>
+     <span class="s">links</span><span class="pi">:</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">service-center:sc.servicecomb.io"</span>
+     <span class="s">ports</span><span class="pi">:</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">8080:8080"</span>
+
+   <span class="s">flight-booking-service</span><span class="pi">:</span>
+     <span class="s">image</span><span class="pi">:</span> <span 
class="s2">"</span><span class="s">flight-booking-service:0.0.2-SNAPSHOT"</span>
+     <span class="s">hostname</span><span class="pi">:</span> <span 
class="s">flight</span>
+     <span class="s">links</span><span class="pi">:</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">service-center:sc.servicecomb.io"</span>
+     <span class="s">ports</span><span class="pi">:</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">8081:8080"</span>
+
+   <span class="s">hotel-reservation-service</span><span class="pi">:</span>
+     <span class="s">image</span><span class="pi">:</span> <span 
class="s2">"</span><span 
class="s">hotel-reservation-service:0.0.2-SNAPSHOT"</span>
+     <span class="s">hostname</span><span class="pi">:</span> <span 
class="s">hotel</span>
+     <span class="s">links</span><span class="pi">:</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">service-center:sc.servicecomb.io"</span>
+     <span class="s">ports</span><span class="pi">:</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">8082:8080"</span>
+
+   <span class="s">payment-service</span><span class="pi">:</span>
+     <span class="s">image</span><span class="pi">:</span> <span 
class="s2">"</span><span class="s">payment-service:0.0.2-SNAPSHOT"</span>
+     <span class="s">hostname</span><span class="pi">:</span> <span 
class="s">payment</span>
+     <span class="s">links</span><span class="pi">:</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">service-center:sc.servicecomb.io"</span>
+     <span class="s">ports</span><span class="pi">:</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">8080"</span>
+
+   <span class="s">saga</span><span class="pi">:</span>
+     <span class="s">image</span><span class="pi">:</span> <span 
class="s2">"</span><span class="s">saga-spring:0.0.2-SNAPSHOT"</span>
+     <span class="s">hostname</span><span class="pi">:</span> <span 
class="s">saga</span>
+     <span class="s">links</span><span class="pi">:</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">mysql:mysql.servicecomb.io"</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">service-center:sc.servicecomb.io"</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">car-rental-service:car.servicecomb.io"</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">flight-booking-service:flight.servicecomb.io"</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">hotel-reservation-service:hotel.servicecomb.io"</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">payment-service:payment.servicecomb.io"</span>
+     <span class="s">environment</span><span class="pi">:</span>
+       <span class="pi">-</span> <span 
class="s">JAVA_OPTS=-Dspring.profiles.active=prd,servicecomb 
-Dcse.service.registry.address=http://sc.servicecomb.io:30100</span>
+     <span class="s">ports</span><span class="pi">:</span>
+       <span class="pi">-</span> <span class="s2">"</span><span 
class="s">8083:8080"</span>
+     <span class="s">depends_on</span><span class="pi">:</span>
+       <span class="s">mysql</span><span class="pi">:</span>
+         <span class="s">condition</span><span class="pi">:</span> <span 
class="s">service_healthy</span>
+</code></pre>
+    </div>
+  </li>
+  <li>
+    <p>Run the following command to create docker images in saga project root 
folder</p>
+
+    <div class="language-bash highlighter-rouge"><pre class="highlight"><code> 
mvn package -DskipTests -Pdocker -Pdemo
+</code></pre>
+    </div>
+  </li>
+  <li>
+    <p>Start application up in saga/saga-demo/ with the following command</p>
+
+    <div class="language-bash highlighter-rouge"><pre class="highlight"><code> 
docker-compose up
+</code></pre>
+    </div>
+  </li>
+</ol>
+
+<h2 id="verify-services">Verify services</h2>
+
+<ol>
+  <li>
+    <p>Use <a 
href="https://github.com/ServiceComb/ServiceComb-Saga/blob/master/docs/api/api.md";>Saga
 API</a> to set request content and save it to <em>request.json</em></p>
+
+    <div class="language-json highlighter-rouge"><pre 
class="highlight"><code><span class="w"> </span><span class="p">{</span><span 
class="w">
+   </span><span class="nt">"policy"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"BackwardRecovery"</span><span 
class="p">,</span><span class="w">
+   </span><span class="nt">"requests"</span><span class="p">:</span><span 
class="w"> </span><span class="p">[</span><span class="w">
+     </span><span class="p">{</span><span class="w">
+       </span><span class="nt">"id"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"request-car"</span><span 
class="p">,</span><span class="w">
+       </span><span class="nt">"type"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span 
class="w">
+       </span><span class="nt">"serviceName"</span><span 
class="p">:</span><span class="w"> </span><span 
class="s2">"car-rental-service"</span><span class="p">,</span><span class="w">
+       </span><span class="nt">"transaction"</span><span 
class="p">:</span><span class="w"> </span><span class="p">{</span><span 
class="w">
+         </span><span class="nt">"method"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span 
class="w">
+         </span><span class="nt">"path"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"/rentals"</span><span 
class="p">,</span><span class="w">
+         </span><span class="nt">"params"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nt">"form"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nt">"customerId"</span><span 
class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span 
class="w">
+           </span><span class="p">}</span><span class="w">
+         </span><span class="p">}</span><span class="w">
+       </span><span class="p">},</span><span class="w">
+       </span><span class="nt">"compensation"</span><span 
class="p">:</span><span class="w"> </span><span class="p">{</span><span 
class="w">
+         </span><span class="nt">"method"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span 
class="w">
+         </span><span class="nt">"path"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"/rentals"</span><span 
class="p">,</span><span class="w">
+         </span><span class="nt">"params"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nt">"form"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nt">"customerId"</span><span 
class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span 
class="w">
+           </span><span class="p">}</span><span class="w">
+         </span><span class="p">}</span><span class="w">
+       </span><span class="p">}</span><span class="w">
+     </span><span class="p">},</span><span class="w">
+     </span><span class="p">{</span><span class="w">
+       </span><span class="nt">"id"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"request-hotel"</span><span 
class="p">,</span><span class="w">
+       </span><span class="nt">"type"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span 
class="w">
+       </span><span class="nt">"serviceName"</span><span 
class="p">:</span><span class="w"> </span><span 
class="s2">"hotel-reservation-service"</span><span class="p">,</span><span 
class="w">
+       </span><span class="nt">"transaction"</span><span 
class="p">:</span><span class="w"> </span><span class="p">{</span><span 
class="w">
+         </span><span class="nt">"method"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span 
class="w">
+         </span><span class="nt">"path"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"/reservations"</span><span 
class="p">,</span><span class="w">
+         </span><span class="nt">"params"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nt">"form"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nt">"customerId"</span><span 
class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span 
class="w">
+           </span><span class="p">}</span><span class="w">
+         </span><span class="p">}</span><span class="w">
+       </span><span class="p">},</span><span class="w">
+       </span><span class="nt">"compensation"</span><span 
class="p">:</span><span class="w"> </span><span class="p">{</span><span 
class="w">
+         </span><span class="nt">"method"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span 
class="w">
+         </span><span class="nt">"path"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"/reservations"</span><span 
class="p">,</span><span class="w">
+         </span><span class="nt">"params"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nt">"form"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nt">"customerId"</span><span 
class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span 
class="w">
+           </span><span class="p">}</span><span class="w">
+         </span><span class="p">}</span><span class="w">
+       </span><span class="p">}</span><span class="w">
+     </span><span class="p">},</span><span class="w">
+     </span><span class="p">{</span><span class="w">
+       </span><span class="nt">"id"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"request-flight"</span><span 
class="p">,</span><span class="w">
+       </span><span class="nt">"type"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span 
class="w">
+       </span><span class="nt">"serviceName"</span><span 
class="p">:</span><span class="w"> </span><span 
class="s2">"flight-booking-service"</span><span class="p">,</span><span 
class="w">
+       </span><span class="nt">"transaction"</span><span 
class="p">:</span><span class="w"> </span><span class="p">{</span><span 
class="w">
+         </span><span class="nt">"method"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span 
class="w">
+         </span><span class="nt">"path"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"/bookings"</span><span 
class="p">,</span><span class="w">
+         </span><span class="nt">"params"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nt">"form"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nt">"customerId"</span><span 
class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span 
class="w">
+           </span><span class="p">}</span><span class="w">
+         </span><span class="p">}</span><span class="w">
+       </span><span class="p">},</span><span class="w">
+       </span><span class="nt">"compensation"</span><span 
class="p">:</span><span class="w"> </span><span class="p">{</span><span 
class="w">
+         </span><span class="nt">"method"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span 
class="w">
+         </span><span class="nt">"path"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"/bookings"</span><span 
class="p">,</span><span class="w">
+         </span><span class="nt">"params"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nt">"form"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nt">"customerId"</span><span 
class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span 
class="w">
+           </span><span class="p">}</span><span class="w">
+         </span><span class="p">}</span><span class="w">
+       </span><span class="p">}</span><span class="w">
+     </span><span class="p">},</span><span class="w">
+     </span><span class="p">{</span><span class="w">
+       </span><span class="nt">"id"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"request-payment"</span><span 
class="p">,</span><span class="w">
+       </span><span class="nt">"type"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"rest"</span><span class="p">,</span><span 
class="w">
+       </span><span class="nt">"serviceName"</span><span 
class="p">:</span><span class="w"> </span><span 
class="s2">"payment-service"</span><span class="p">,</span><span class="w">
+       </span><span class="nt">"parents"</span><span class="p">:</span><span 
class="w"> </span><span class="p">[</span><span class="w">
+         </span><span class="s2">"request-car"</span><span 
class="p">,</span><span class="w">
+         </span><span class="s2">"request-flight"</span><span 
class="p">,</span><span class="w">
+         </span><span class="s2">"request-hotel"</span><span class="w">
+       </span><span class="p">],</span><span class="w">
+       </span><span class="nt">"transaction"</span><span 
class="p">:</span><span class="w"> </span><span class="p">{</span><span 
class="w">
+         </span><span class="nt">"method"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"post"</span><span class="p">,</span><span 
class="w">
+         </span><span class="nt">"path"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"/payments"</span><span 
class="p">,</span><span class="w">
+         </span><span class="nt">"params"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nt">"form"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nt">"customerId"</span><span 
class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span 
class="w">
+           </span><span class="p">}</span><span class="w">
+         </span><span class="p">}</span><span class="w">
+       </span><span class="p">},</span><span class="w">
+       </span><span class="nt">"compensation"</span><span 
class="p">:</span><span class="w"> </span><span class="p">{</span><span 
class="w">
+         </span><span class="nt">"method"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"put"</span><span class="p">,</span><span 
class="w">
+         </span><span class="nt">"path"</span><span class="p">:</span><span 
class="w"> </span><span class="s2">"/payments"</span><span 
class="p">,</span><span class="w">
+         </span><span class="nt">"params"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+           </span><span class="nt">"form"</span><span class="p">:</span><span 
class="w"> </span><span class="p">{</span><span class="w">
+             </span><span class="nt">"customerId"</span><span 
class="p">:</span><span class="w"> </span><span class="s2">"mike"</span><span 
class="w">
+           </span><span class="p">}</span><span class="w">
+         </span><span class="p">}</span><span class="w">
+       </span><span class="p">}</span><span class="w">
+     </span><span class="p">}</span><span class="w">
+   </span><span class="p">]</span><span class="w">
+ </span><span class="p">}</span><span class="w">
+</span></code></pre>
+    </div>
+  </li>
+  <li>
+    <p>Set content type to <em>text/plain</em>, and send <em>request.json</em> 
to Saga</p>
+
+    <div class="language-bash highlighter-rouge"><pre class="highlight"><code> 
curl -XPOST -H <span class="s2">"Content-Type: text/plain"</span> -d 
@./request.json  http://&lt;localhost.ip:8083&gt;/requests
+</code></pre>
+    </div>
+
+    <p>Response(return “success” if execution successfully, otherwise 
return failed with error info)</p>
+
+    <div class="language-bash highlighter-rouge"><pre class="highlight"><code> 
success
+</code></pre>
+    </div>
+  </li>
+  <li>
+    <p>Get all the Saga events</p>
+
+    <div class="language-bash highlighter-rouge"><pre class="highlight"><code> 
curl -XGET http://&lt;localhost.ip:8083&gt;/events
+</code></pre>
+    </div>
+
+    <p>Response</p>
+
+    <div class="language-bash highlighter-rouge"><pre class="highlight"><code> 
<span class="o">{</span>
+     <span class="s2">"bcd27f0d-6b82-49b3-8067-b16eba970e55"</span>: <span 
class="o">[</span>
+         <span class="o">{</span>
+             <span class="s2">"id"</span>: 1,
+             <span class="s2">"sagaId"</span>: <span 
class="s2">"bcd27f0d-6b82-49b3-8067-b16eba970e55"</span>,
+             <span class="s2">"creationTime"</span>: <span 
class="s2">"2017-09-20T00:30:21Z"</span>,
+             <span class="s2">"type"</span>: <span 
class="s2">"SagaStartedEvent"</span>,
+             <span class="s2">"contentJson"</span>: <span 
class="s2">"{</span><span class="se">\"</span><span 
class="s2">policy</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">BackwardRecovery</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">requests</span><span class="se">\"</span><span class="s2">: 
[{</span><span class="se">\"</span><span class="s2">id</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">request-car</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">serviceName</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="
 s2">car-rental-service</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">transaction</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/rentals</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">method</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">post</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">params</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">form</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">customerId</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">m
 ike</span><span class="se">\"</span><span class="s2">}}}, </span><span 
class="se">\"</span><span class="s2">compensation</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/rentals</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">method</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">put</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">params</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">form</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">customerId</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">mike</span><span 
 class="se">\"</span><span class="s2">}}}}, {</span><span 
class="se">\"</span><span class="s2">id</span><span class="se">\"</span><span 
class="s2">: </span><span class="se">\"</span><span 
class="s2">request-hotel</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">serviceName</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">hotel-reservation-service</span><span class="se">\"</span><span 
class="s2">, </span><span class="se">\"</span><span 
class="s2">transaction</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">path</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">/reservation
 s</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">post</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">customerId</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}}, 
</span><span class="se">\"</span><span class="s2">compensation</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/reservations</span><s
 pan class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">put</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">customerId</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}}}, 
{</span><span class="se">\"</span><span class="s2">id</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">request-flight</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</
 span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">serviceName</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">flight-booking-service</span><span class="se">\"</span><span 
class="s2">, </span><span class="se">\"</span><span 
class="s2">transaction</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">path</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">/bookings</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">post</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span class="se">\"</s
 pan><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">customerId</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}}, 
</span><span class="se">\"</span><span class="s2">compensation</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/bookings</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">method</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">put</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">params</span><span class="se">\"</span><span class
 ="s2">: {</span><span class="se">\"</span><span class="s2">form</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">customerId</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">mike</span><span 
class="se">\"</span><span class="s2">}}}}, {</span><span 
class="se">\"</span><span class="s2">id</span><span class="se">\"</span><span 
class="s2">: </span><span class="se">\"</span><span 
class="s2">request-payment</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">parents</span><span 
class="se">\"</span><span class="s2">: [</span><span class="se">\"</span><span 
class="s2">request-car</span><span class="se">\"</span><span class="s2">, </
 span><span class="se">\"</span><span class="s2">request-flight</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">request-hotel</span><span class="se">\"</span><span class="s2">], 
</span><span class="se">\"</span><span class="s2">serviceName</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">payment-service</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">transaction</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/payments</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">method</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">post</span><span 
class="se">\"</span><span class
 ="s2">, </span><span class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">customerId</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}}, 
</span><span class="se">\"</span><span class="s2">compensation</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/payments</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">method</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">put</span><span 
class="se">\"</span><span class="s2">, </span>
 <span class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">customerId</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}}}]}"</span>
+         <span class="o">}</span>,
+         <span class="o">{</span>
+             <span class="s2">"id"</span>: 2,
+             <span class="s2">"sagaId"</span>: <span 
class="s2">"bcd27f0d-6b82-49b3-8067-b16eba970e55"</span>,
+             <span class="s2">"creationTime"</span>: <span 
class="s2">"2017-09-20T00:30:21Z"</span>,
+             <span class="s2">"type"</span>: <span 
class="s2">"TransactionStartedEvent"</span>,
+             <span class="s2">"contentJson"</span>: <span 
class="s2">"{</span><span class="se">\"</span><span class="s2">id</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">request-hotel</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">parents</span><span 
class="se">\"</span><span class="s2">: [], </span><span 
class="se">\"</span><span class="s2">fallback</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">type</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">NOP</span><span class="se">\"</span><span 
class="s2">}, </span><span class="se">\"</span><span class="s2">serviceNa
 me</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">hotel-reservation-service</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">transaction</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">path</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">/reservations</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">post</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">c
 ustomerId</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">mike</span><span class="se">\"</span><span 
class="s2">}}}, </span><span class="se">\"</span><span 
class="s2">compensation</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">path</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">/reservations</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">put</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">customerId</
 span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">mike</span><span class="se">\"</span><span 
class="s2">}}, </span><span class="se">\"</span><span 
class="s2">retries</span><span class="se">\"</span><span class="s2">: 
3}}"</span>
+         <span class="o">}</span>,
+         <span class="o">{</span>
+             <span class="s2">"id"</span>: 3,
+             <span class="s2">"sagaId"</span>: <span 
class="s2">"bcd27f0d-6b82-49b3-8067-b16eba970e55"</span>,
+             <span class="s2">"creationTime"</span>: <span 
class="s2">"2017-09-20T00:30:21Z"</span>,
+             <span class="s2">"type"</span>: <span 
class="s2">"TransactionStartedEvent"</span>,
+             <span class="s2">"contentJson"</span>: <span 
class="s2">"{</span><span class="se">\"</span><span class="s2">id</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">request-car</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">parents</span><span 
class="se">\"</span><span class="s2">: [], </span><span 
class="se">\"</span><span class="s2">fallback</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">type</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">NOP</span><span class="se">\"</span><span 
class="s2">}, </span><span class="se">\"</span><span class="s2">serviceName
 </span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">car-rental-service</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">transaction</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">path</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">/rentals</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">post</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">customerId</spa
 n><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">mike</span><span class="se">\"</span><span 
class="s2">}}}, </span><span class="se">\"</span><span 
class="s2">compensation</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">path</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">/rentals</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">put</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">customerId</span><span 
class="s
 e">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}, 
</span><span class="se">\"</span><span class="s2">retries</span><span 
class="se">\"</span><span class="s2">: 3}}"</span>
+         <span class="o">}</span>,
+         <span class="o">{</span>
+             <span class="s2">"id"</span>: 4,
+             <span class="s2">"sagaId"</span>: <span 
class="s2">"bcd27f0d-6b82-49b3-8067-b16eba970e55"</span>,
+             <span class="s2">"creationTime"</span>: <span 
class="s2">"2017-09-20T00:30:21Z"</span>,
+             <span class="s2">"type"</span>: <span 
class="s2">"TransactionStartedEvent"</span>,
+             <span class="s2">"contentJson"</span>: <span 
class="s2">"{</span><span class="se">\"</span><span class="s2">id</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">request-flight</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">parents</span><span 
class="se">\"</span><span class="s2">: [], </span><span 
class="se">\"</span><span class="s2">fallback</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">type</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">NOP</span><span class="se">\"</span><span 
class="s2">}, </span><span class="se">\"</span><span class="s2">serviceN
 ame</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">flight-booking-service</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">transaction</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">path</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">/bookings</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">post</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">custome
 rId</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">mike</span><span class="se">\"</span><span 
class="s2">}}}, </span><span class="se">\"</span><span 
class="s2">compensation</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">path</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">/bookings</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">put</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">customerId</span><span
  class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}, 
</span><span class="se">\"</span><span class="s2">retries</span><span 
class="se">\"</span><span class="s2">: 3}}"</span>
+         <span class="o">}</span>,
+         <span class="o">{</span>
+             <span class="s2">"id"</span>: 5,
+             <span class="s2">"sagaId"</span>: <span 
class="s2">"bcd27f0d-6b82-49b3-8067-b16eba970e55"</span>,
+             <span class="s2">"creationTime"</span>: <span 
class="s2">"2017-09-20T00:30:22Z"</span>,
+             <span class="s2">"type"</span>: <span 
class="s2">"TransactionEndedEvent"</span>,
+             <span class="s2">"contentJson"</span>: <span 
class="s2">"{</span><span class="se">\"</span><span 
class="s2">request</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">id</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">request-flight</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">parents</span><span 
class="se">\"</span><span class="s2">: [], </span><span 
class="se">\"</span><span class="s2">fallback</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">type</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">NOP<
 /span><span class="se">\"</span><span class="s2">}, </span><span 
class="se">\"</span><span class="s2">serviceName</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">flight-booking-service</span><span class="se">\"</span><span 
class="s2">, </span><span class="se">\"</span><span 
class="s2">transaction</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">path</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">/bookings</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">post</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form
 </span><span class="se">\"</span><span class="s2">: {</span><span 
class="se">\"</span><span class="s2">customerId</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}}, 
</span><span class="se">\"</span><span class="s2">compensation</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/bookings</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">method</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">put</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">params</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">form</span><span cl
 ass="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">customerId</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">mike</span><span 
class="se">\"</span><span class="s2">}}, </span><span class="se">\"</span><span 
class="s2">retries</span><span class="se">\"</span><span class="s2">: 3}}, 
</span><span class="se">\"</span><span class="s2">response</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">body</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">{</span><span class="se">\\</span><span 
class="s2">n  </span><span class="se">\\\"</span><span 
class="s2">statusCode</span><span class="se">\\\"</span><span class="s2">: 
200,</span><span class="se">\\</span><span class="s2">n  </span><span 
class="se">\\\"</span><span class="s2">content</span><span 
class="se">\\\"</span><span class="s2">: </span><span class
 ="se">\\\"</span><span class="s2">Flight booked with id 
f249543b-765e-4e10-9ba3-74fe33d8af83 for customer mike</span><span 
class="se">\\\"\\</span><span class="s2">n}</span><span 
class="se">\"</span><span class="s2">}}"</span>
+         <span class="o">}</span>,
+         <span class="o">{</span>
+             <span class="s2">"id"</span>: 6,
+             <span class="s2">"sagaId"</span>: <span 
class="s2">"bcd27f0d-6b82-49b3-8067-b16eba970e55"</span>,
+             <span class="s2">"creationTime"</span>: <span 
class="s2">"2017-09-20T00:30:24Z"</span>,
+             <span class="s2">"type"</span>: <span 
class="s2">"TransactionEndedEvent"</span>,
+             <span class="s2">"contentJson"</span>: <span 
class="s2">"{</span><span class="se">\"</span><span 
class="s2">request</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">id</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">request-hotel</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">parents</span><span 
class="se">\"</span><span class="s2">: [], </span><span 
class="se">\"</span><span class="s2">fallback</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">type</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">NOP</
 span><span class="se">\"</span><span class="s2">}, </span><span 
class="se">\"</span><span class="s2">serviceName</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">hotel-reservation-service</span><span class="se">\"</span><span 
class="s2">, </span><span class="se">\"</span><span 
class="s2">transaction</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">path</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">/reservations</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">post</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2
 ">form</span><span class="se">\"</span><span class="s2">: {</span><span 
class="se">\"</span><span class="s2">customerId</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}}, 
</span><span class="se">\"</span><span class="s2">compensation</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/reservations</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">method</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">put</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">params</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">form</spa
 n><span class="se">\"</span><span class="s2">: {</span><span 
class="se">\"</span><span class="s2">customerId</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}, 
</span><span class="se">\"</span><span class="s2">retries</span><span 
class="se">\"</span><span class="s2">: 3}}, </span><span 
class="se">\"</span><span class="s2">response</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">body</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">{</span><span class="se">\\</span><span 
class="s2">n  </span><span class="se">\\\"</span><span 
class="s2">statusCode</span><span class="se">\\\"</span><span class="s2">: 
200,</span><span class="se">\\</span><span class="s2">n  </span><span 
class="se">\\\"</span><span class="s2">content</span><span 
class="se">\\\"</span><span class="s2">: </span><
 span class="se">\\\"</span><span class="s2">Hotel reserved with id 
f74049a0-3d3d-49b6-a45b-058a409daecf for customer mike</span><span 
class="se">\\\"\\</span><span class="s2">n}</span><span 
class="se">\"</span><span class="s2">}}"</span>
+         <span class="o">}</span>,
+         <span class="o">{</span>
+             <span class="s2">"id"</span>: 7,
+             <span class="s2">"sagaId"</span>: <span 
class="s2">"bcd27f0d-6b82-49b3-8067-b16eba970e55"</span>,
+             <span class="s2">"creationTime"</span>: <span 
class="s2">"2017-09-20T00:30:25Z"</span>,
+             <span class="s2">"type"</span>: <span 
class="s2">"TransactionEndedEvent"</span>,
+             <span class="s2">"contentJson"</span>: <span 
class="s2">"{</span><span class="se">\"</span><span 
class="s2">request</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">id</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">request-car</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">parents</span><span 
class="se">\"</span><span class="s2">: [], </span><span 
class="se">\"</span><span class="s2">fallback</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">type</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">NOP</sp
 an><span class="se">\"</span><span class="s2">}, </span><span 
class="se">\"</span><span class="s2">serviceName</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">car-rental-service</span><span class="se">\"</span><span 
class="s2">, </span><span class="se">\"</span><span 
class="s2">transaction</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">path</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">/rentals</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">post</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><
 span class="se">\"</span><span class="s2">: {</span><span 
class="se">\"</span><span class="s2">customerId</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}}, 
</span><span class="se">\"</span><span class="s2">compensation</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/rentals</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">method</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">put</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">params</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">form</span><span class="se">
 \"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">customerId</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">mike</span><span 
class="se">\"</span><span class="s2">}}, </span><span class="se">\"</span><span 
class="s2">retries</span><span class="se">\"</span><span class="s2">: 3}}, 
</span><span class="se">\"</span><span class="s2">response</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">body</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">{</span><span class="se">\\</span><span 
class="s2">n  </span><span class="se">\\\"</span><span 
class="s2">statusCode</span><span class="se">\\\"</span><span class="s2">: 
200,</span><span class="se">\\</span><span class="s2">n  </span><span 
class="se">\\\"</span><span class="s2">content</span><span 
class="se">\\\"</span><span class="s2">: </span><span class="se">\\\
 "</span><span class="s2">Car rented with id 
937d7364-be07-4d47-9e01-af72290d0478 for customer mike</span><span 
class="se">\\\"\\</span><span class="s2">n}</span><span 
class="se">\"</span><span class="s2">}}"</span>
+         <span class="o">}</span>,
+         <span class="o">{</span>
+             <span class="s2">"id"</span>: 8,
+             <span class="s2">"sagaId"</span>: <span 
class="s2">"bcd27f0d-6b82-49b3-8067-b16eba970e55"</span>,
+             <span class="s2">"creationTime"</span>: <span 
class="s2">"2017-09-20T00:30:25Z"</span>,
+             <span class="s2">"type"</span>: <span 
class="s2">"TransactionStartedEvent"</span>,
+             <span class="s2">"contentJson"</span>: <span 
class="s2">"{</span><span class="se">\"</span><span class="s2">id</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">request-payment</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">parents</span><span 
class="se">\"</span><span class="s2">: [</span><span class="se">\"</span><span 
class="s2">request-car</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">request-flight</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">request-hotel</span><span class="se">\"</span><span class="s2">], 
</span><span class="se">\"</span><span
  class="s2">fallback</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">NOP</span><span class="se">\"</span><span class="s2">}, </span><span 
class="se">\"</span><span class="s2">serviceName</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">payment-service</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">transaction</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/payments</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">method</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span clas
 s="s2">post</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">customerId</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}}, 
</span><span class="se">\"</span><span class="s2">compensation</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/payments</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">method</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">put</sp
 an><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">customerId</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}, 
</span><span class="se">\"</span><span class="s2">retries</span><span 
class="se">\"</span><span class="s2">: 3}}"</span>
+         <span class="o">}</span>,
+         <span class="o">{</span>
+             <span class="s2">"id"</span>: 9,
+             <span class="s2">"sagaId"</span>: <span 
class="s2">"bcd27f0d-6b82-49b3-8067-b16eba970e55"</span>,
+             <span class="s2">"creationTime"</span>: <span 
class="s2">"2017-09-20T00:30:25Z"</span>,
+             <span class="s2">"type"</span>: <span 
class="s2">"TransactionEndedEvent"</span>,
+             <span class="s2">"contentJson"</span>: <span 
class="s2">"{</span><span class="se">\"</span><span 
class="s2">request</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">id</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">request-payment</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">parents</span><span 
class="se">\"</span><span class="s2">: [</span><span class="se">\"</span><span 
class="s2">request-car</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">request-flight</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class
 ="s2">request-hotel</span><span class="se">\"</span><span class="s2">], 
</span><span class="se">\"</span><span class="s2">fallback</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">type</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">NOP</span><span class="se">\"</span><span 
class="s2">}, </span><span class="se">\"</span><span 
class="s2">serviceName</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">payment-service</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">transaction</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">path</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">/payments</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span cl
 ass="s2">method</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">post</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">params</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">form</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">customerId</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">mike</span><span 
class="se">\"</span><span class="s2">}}}, </span><span 
class="se">\"</span><span class="s2">compensation</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/payments</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">metho
 d</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">put</span><span class="se">\"</span><span 
class="s2">, </span><span class="se">\"</span><span 
class="s2">params</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">form</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">customerId</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">mike</span><span 
class="se">\"</span><span class="s2">}}, </span><span class="se">\"</span><span 
class="s2">retries</span><span class="se">\"</span><span class="s2">: 3}}, 
</span><span class="se">\"</span><span class="s2">response</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">body</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">{</span><span class="s
 e">\\</span><span class="s2">n  </span><span class="se">\\\"</span><span 
class="s2">statusCode</span><span class="se">\\\"</span><span class="s2">: 
200,</span><span class="se">\\</span><span class="s2">n  </span><span 
class="se">\\\"</span><span class="s2">content</span><span 
class="se">\\\"</span><span class="s2">: </span><span 
class="se">\\\"</span><span class="s2">Payment made for customer mike and 
remaining balance is 200</span><span class="se">\\\"\\</span><span 
class="s2">n}</span><span class="se">\"</span><span class="s2">}}"</span>
+         <span class="o">}</span>,
+         <span class="o">{</span>
+             <span class="s2">"id"</span>: 10,
+             <span class="s2">"sagaId"</span>: <span 
class="s2">"bcd27f0d-6b82-49b3-8067-b16eba970e55"</span>,
+             <span class="s2">"creationTime"</span>: <span 
class="s2">"2017-09-20T00:30:25Z"</span>,
+             <span class="s2">"type"</span>: <span 
class="s2">"SagaEndedEvent"</span>,
+             <span class="s2">"contentJson"</span>: <span 
class="s2">"{}"</span>
+         <span class="o">}</span>
+       <span class="o">]</span>
+ <span class="o">}</span>
+</code></pre>
+    </div>
+  </li>
+  <li>
+    <p>Sending the request more than once will trigger compensation due to 
insufficient account balance in payment-service.Do this implement and get Saga 
events, you can find compensation events in Saga log.</p>
+
+    <div class="language-bash highlighter-rouge"><pre class="highlight"><code> 
<span class="o">{</span>
+     <span class="s2">"bcd27f0d-6b82-49b3-8067-b16eba970e55"</span>: <span 
class="o">[</span>
+         ...
+     <span class="o">]</span>,
+     <span class="s2">"2654fa50-71e2-4fc8-afc2-6a5e0d3dafe9"</span>: <span 
class="o">[</span>
+         <span class="o">{</span>
+             <span class="s2">"id"</span>: 11,
+             <span class="s2">"sagaId"</span>: <span 
class="s2">"2654fa50-71e2-4fc8-afc2-6a5e0d3dafe9"</span>,
+             <span class="s2">"creationTime"</span>: <span 
class="s2">"2017-09-20T00:30:45Z"</span>,
+             <span class="s2">"type"</span>: <span 
class="s2">"SagaStartedEvent"</span>,
+             <span class="s2">"contentJson"</span>: <span 
class="s2">"{</span><span class="se">\"</span><span 
class="s2">policy</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">BackwardRecovery</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">requests</span><span class="se">\"</span><span class="s2">: 
[{</span><span class="se">\"</span><span class="s2">id</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">request-car</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">serviceName</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="
 s2">car-rental-service</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">transaction</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/rentals</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">method</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">post</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">params</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">form</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">customerId</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">m
 ike</span><span class="se">\"</span><span class="s2">}}}, </span><span 
class="se">\"</span><span class="s2">compensation</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/rentals</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">method</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">put</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">params</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">form</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">customerId</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">mike</span><span 
 class="se">\"</span><span class="s2">}}}}, {</span><span 
class="se">\"</span><span class="s2">id</span><span class="se">\"</span><span 
class="s2">: </span><span class="se">\"</span><span 
class="s2">request-hotel</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">serviceName</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">hotel-reservation-service</span><span class="se">\"</span><span 
class="s2">, </span><span class="se">\"</span><span 
class="s2">transaction</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">path</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">/reservation
 s</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">post</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">customerId</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}}, 
</span><span class="se">\"</span><span class="s2">compensation</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/reservations</span><s
 pan class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">put</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">customerId</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}}}, 
{</span><span class="se">\"</span><span class="s2">id</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">request-flight</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">type</span><span 
class="se">\"</
 span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">rest</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">serviceName</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">flight-booking-service</span><span class="se">\"</span><span 
class="s2">, </span><span class="se">\"</span><span 
class="s2">transaction</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">path</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">/bookings</span><span class="se">\"</span><span class="s2">, 
</span><span class="se">\"</span><span class="s2">method</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">post</span><span class="se">\"</span><span class="s2">, </span><span 
class="se">\"</span><span class="s2">params</span><span class="se">\"</s
 pan><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">form</span><span class="se">\"</span><span class="s2">: 
{</span><span class="se">\"</span><span class="s2">customerId</span><span 
class="se">\"</span><span class="s2">: </span><span class="se">\"</span><span 
class="s2">mike</span><span class="se">\"</span><span class="s2">}}}, 
</span><span class="se">\"</span><span class="s2">compensation</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">path</span><span class="se">\"</span><span class="s2">: </span><span 
class="se">\"</span><span class="s2">/bookings</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">method</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</span><span class="s2">put</span><span 
class="se">\"</span><span class="s2">, </span><span class="se">\"</span><span 
class="s2">params</span><span class="se">\"</span><span class
 ="s2">: {</span><span class="se">\"</span><span class="s2">form</span><span 
class="se">\"</span><span class="s2">: {</span><span class="se">\"</span><span 
class="s2">customerId</span><span class="se">\"</span><span class="s2">: 
</span><span class="se">\"</spa

<TRUNCATED>

Reply via email to