tag:blogger.com,1999:blog-85420245585306971432024-03-14T02:32:53.032-07:00MilestonesAnonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.comBlogger51125tag:blogger.com,1999:blog-8542024558530697143.post-35302580823793706302016-09-30T10:33:00.002-07:002016-09-30T10:38:08.044-07:00Introducing WSO2 API Manager’s Throttling Implementation Architecture <span style="font-family: "arial"; font-size: 21.3333px; line-height: 1.38; white-space: pre-wrap;">Introduction</span><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Previous versions of WSO2 API Manager used legacy throttling implementation that was subject to several drastic changes and restructure in the past few years. The most recent implementation of the legacy throttling implementation is based on Hazelcast atomic counters that sync the local counters of each gateway to sum-up clusterwide global count. Since it’s required to build a more complex and extendible throttling mechanism, we have decided to move forward with a Siddhi runtime-based throttling engine. Siddhi is a very powerful real-time event processing engine. With the new throttling implementation, we were able to overcome many of the limitations that existed in the old throttle implementation. This implementation adds one change to a typical API manager deployment where it’s required to have an additional instance to process data of every API request and take throttling decisions based on the applicability of available throttle policies. Throttling decisions are made by Siddhi runtime and throttling decisions are published to the JMS topic; each and every API gateway subscribed to this JMS topic throttling decisions get instantly notified to the API gateways. </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 21.333333333333332px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Different types of throttling policies and level of applicability</span></h2>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">WSO2 API Manager has several types of throttling levels. Each level has its own set of throttle policies. Applicability of throttle policies depends on the data of an incoming API request and the metadata of the API that belongs to the incoming request. Users may apply one or more throttling policies at different levels based on their requirement. Following are throttling policy applicability levels:</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Application Level </span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Throttle policies defined at this level are applied based on the application details of an API that made the subscription. These policies will limit API access considering the subscribed application details of an API. The purpose of having policies at this level is to control API access by considering the end user of an application. </span></div>
</li>
</ul>
</ul>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Subscription Level</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Throttle policies defined at this level are applied based on the subscription details of a API and the application details of the application that’s going to subscribe an API. These policies will limit the total number of requests that can go through from an application to a single API.</span></div>
</li>
</ul>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">API Level</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Throttle policies defined at this level are applied based on the metadata of the API that belong to a particular API request. The purpose of having policies at this level is to limit the total number of requests coming to an API from any number of users from any number of applications. </span></div>
</li>
</ul>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Resource Level</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Throttle policies defined at this level are applied based on the resources available in a particular API and its metadata. Users may apply policies at this level to give different throttle limits to resources, e.g. a user may grant 20 req/s for GET method of a API and 1 req/s for DELETE resource of an API. </span></div>
</li>
</ul>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Global Level</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Policies applicable at this level will be applied to all APIs of a gateway. If a user deployed a global level throttle policy then it will be applied to any API available in the system. </span></div>
</li>
</ul>
</ul>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">There are several policy types that are applicable in the above levels. Those policies can be categorized as follow:</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> Per Token Quota Policies</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">These policies are applicable at application level. The user can specify per token quota policy when he/she is creating or editing an application from the store. The limit of a policy specifies the maximum number of request or bandwidth that the end user can access when considering all subscribed APIs of a single application. For example, having per token quota tier of 10 req/s means that each end user of the particular application can invoke any API that’s subscribed to the application at only 10 req/m.</span></div>
</li>
</ul>
</ul>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img alt="12.png" height="419" src="https://lh5.googleusercontent.com/flPf2KEd_M3D4EJu-XK6wR9x_Box_6BV0JLImmjofZT3SoeygTheJJymj6zUF_UGvurkw6tQHUi4zgA_93iTFxsYxCwinOr4gFeyvyWb4peLwR8YipN_rnGVYmjdgfNqMEMRzL2w" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="624" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><div dir="ltr" style="font-size: medium; line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: start;">
<div style="text-align: center;">
<span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">Figure 1: Add application page</span></div>
<div>
<span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
</div>
</td></tr>
</tbody></table>
</div>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Subscription Level Policies and Burst Control</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">As the name implies, these policies are applied at subscription level. As in Figure 2, the user needs to select a subscription level policy when the API is subscribed to an application. The purpose of a subscription level policy is to limit the number of request flown from an application to a single API. The limit of this policy will be the maximum number of requests or bandwidth that any number of application users can make for a single API through an application. Burst control is another feature that’s a part of subscription level policies. As in Figure 3, the burst control limit can be defined in the subscription policy view. The functionality of burst controlling is to control request bursts that come in a very short time to an API from a single application. Moreover, a real scenario would be when the user subscribes to a policy that has a very large request limit for larger time intervals, such as days or months. So it’s possible to consume all the allocated quota within a short period of time even if the policy is expanded for larger time intervals. With burst control, the person who defines subscription policies can further define a maximum rate per a second or a minute that controls the burst of request that comes to an API from a single application. </span></div>
</li>
</ul>
</ul>
<div>
<span style="font-family: "arial";"><span style="font-size: 14.6667px; white-space: pre-wrap;"><br /></span></span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://lh3.googleusercontent.com/nJLRh9nWN7Se8MYXrgP2V4jMCA85D3Re7wsEdF5HYNbZWuncn4GcVGkoCEgt-zZDFvf7Rt0R7hfK7BAI5oZKXi6VvTNPBXNpfRjPSlV1f6-jqD4i36vY-TPuncXqKYA5Cm75IBsG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="subscription.png" border="0" height="257" src="https://lh3.googleusercontent.com/nJLRh9nWN7Se8MYXrgP2V4jMCA85D3Re7wsEdF5HYNbZWuncn4GcVGkoCEgt-zZDFvf7Rt0R7hfK7BAI5oZKXi6VvTNPBXNpfRjPSlV1f6-jqD4i36vY-TPuncXqKYA5Cm75IBsG" style="border: none; transform: rotate(0rad);" width="595" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><div dir="ltr" style="font-size: medium; line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: start;">
<span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"> Figure 2 : Subscription Policy Selection</span></div>
<div dir="ltr" style="font-size: medium; line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: start;">
</div>
</td></tr>
</tbody></table>
<br />
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img alt="burst1.png" height="127" src="https://lh4.googleusercontent.com/Wti8NwoVKi6va20qxkUM2ifAQ244lEPOHhdz47gGyy57wojkM6x-MVLjSeMqFONYzeSymJ6oheS-lB5040Hwdc9UN7aI_fZxJ2snruOZEepi5TEutSO4uK5K0bIeMas2GlUhAQl6" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="615" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><div dir="ltr" style="font-size: medium; line-height: 1.38; margin-bottom: 0pt; margin-left: 72pt; margin-top: 0pt; text-align: start; text-indent: 36pt;">
<span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">Figure 3: View of Defining Burst Control Limit in a Subscription Policy </span></div>
</td></tr>
</tbody></table>
</div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 108pt; margin-top: 0pt; text-indent: 36pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span></div>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">API Level and Resource Level Policies (Advance Throttling Policies)</span></div>
</li>
</ul>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;"><ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Even though these two type of policies are applied at different levels, the policy definition will be done through a single window. These policies are a set of advanced policies in the API Manager that enable functionality to perform throttling based on IP, IP Ranges, Headers, Query Params and JWT Claims. As the name implies, API Level policies will be applied at the API Level while Resource Level policies will be applied at the API Resource Level. When the API is created, users can apply these advanced throttle policies only at API level or resource level. If a user selects applying policies at resource level policy, then the API Level policy selection will be disabled and vice versa.</span></div>
</li>
</ul>
</ul>
<b style="font-weight: normal;"><br /><br /><img alt="advanced.png" height="137" src="https://lh3.googleusercontent.com/18OKPQ-xqW2q9N-EtRY1bMvRlgHvBJPFPxldl4rv1XTGelhbgXSvDAU_uZ0jpOA3fTZnpySAL3ELm_UA8w0PuptWdYgkH7IbLeXf7A7erDBIpy-v5IEHhvQNffQecTATSUIVxlRu" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="544" /></b><br />
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> Figure 4: View of Selecting Policy Level in API Manage Phase</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Custom Policies</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Custom policies have been introduced in the API Manager 2.0.0 release. These type of policies will be applied globally across all APIs. Custom policies allow users to write custom Siddhi query. Depending on the data received from gateway API calls, these policies will be executed and will send throttling decisions through JMS topic to gateways. Users may write Siddhi queries to limit activities of certain users based on their API invocation data that comes to the traffic manager. The throttle key is an important part of defining the policy. Key template definition available in the policy configuration will be sent to the gateway and then replaced with actual values with the request and will decide if the current request is throttled or not. These policies extend the flexibility of throttling by allowing users to write custom throttle policies. The custom policy in Figure 5 will limit the number of API calls that can be made by an admin user for any API. Likewise, the user may write queries according to their requirements.</span></div>
</li>
</ul>
</ul>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img alt="custom.png" height="569" src="https://lh5.googleusercontent.com/Lz31QGzUV5TQA84NLtujQQAszjbs2E81fnHAtkO5b462_gf7xsGwQB-pRRX2Zx2pdjh2cRZJbXOm5YqVKyWaCH983jdSDug9IBbX2kkWOyIi-XtgCsb6H1geTgV0U5iyXIXO6nAi" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="587" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="color: black; font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">Figure 5: Sample Custom Policy</span></td></tr>
</tbody></table>
</div>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Blacklist Conditions</span></div>
</li>
</ul>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;"><ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Blacklist conditions is also a new feature that was introduced with API Manager 2.0.0. Blacklist conditions provide functionality to instantly block a user who invokes APIs by username, blocks API calls coming from a specific IP address by specifying IP, blocks an API by name, and blocks API calls coming from an application by application name. As in Figure 6, these policies will be defined from the admin dashboard that will be instantly applied to all gateway nodes. Blacklist conditions will be applied globally for any API call coming to the API gateway. For example, if an administrative user notices suspicious behavior of an application user, he/she may block the user with the blacklist condition.</span></div>
</li>
</ul>
</ul>
<b style="font-weight: normal;"><br /><br /><br /><br /><img alt="blaclist.png" height="268" src="https://lh5.googleusercontent.com/kM_GaUIjcM--cdo39EIN7_5mITwFGp8GnsMKVjuthkud6_t6kjhUzF5WA2audd1_bTMit1CYsTHNirYjbUzYV39nNVr67brgTUllsT7OQrHOwdimHTkDOu7UT-hJRgxUgva__55H" style="border: none; transform: rotate(0rad);" width="555" /></b><br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div style="text-align: center;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Figure 5: View of Defining Blacklist Conditions</span></div>
</div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Policy types discussed above are the main types of throttle policies available in the API Manager. Figure 6 shows the complete diagram of the applicability of above policies at different levels.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img alt="newlevel.png" height="294" src="https://lh4.googleusercontent.com/qVge8Q7pguYplsza0p-ZTVwi5HGzNM6u3nKu7-Nx_XooiazB3m0pRexV5KEzlVAZ2MQUvP7WcoORTglMbdLZ3W2xhg87Qq-J3eyxzBBMlrSnR6w9hVc68kaSiQ1edVf9e97nbv4j" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="635" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> Figure 6: Throttle Policy Applicability at Different Levels</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 21.333333333333332px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Deployment Architecture</span></h2>
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; color: #434343; font-family: "arial"; font-size: 18.666666666666664px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Deployment Architecture Overview</span></h3>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">A typical API Manager deployment pattern will change slightly along with the changes introduced in the new throttling implementation. Given that it’s required to have a separate policy engine to process data coming from every API call, an API manager deployment will require to have an additional instance to do the throttle policy processing functions. This additional instance contains Siddhi runtime that will process real-time API data and execute the throttle policies. The main components of a typical deployment of an API Manager with the new throttling implementation are as follows: </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">API Publisher and Admin Dashboard</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This node is typically used to publish APIs to the gateway. Most times admin dashboard also will be deployed in the same node. Users can define throttle policies through the admin dashboard that will be deployed in the node that contains the policy engine.</span></div>
</li>
</ul>
</ul>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">API Store</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">API Store node will display all available APIs from API publishers. Application developers will create applications and subscribe to the required APIs through the API Store node.</span></div>
</li>
</ul>
</ul>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">API Gateway </span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The responsibility of the API Gateway is to serve API requests that come to the gateway by applying security, throttling, etc. The gateway will publish usage statistics to API analytics servers if analytics has been switched on. With the new throttling, the gateway will extract the required data to perform throttling and publish to the traffic manager that makes the throttling decisions. The throttling decisions from the traffic manager comes through JMS Topic. Hence, the gateway contains a JMS listener to listen to a topic created in a message broker to receive throttling decisions.</span></div>
</li>
</ul>
</ul>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">API Key Manager</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This node will validate the access token that comes with API call and sends its validity and required API metadata to the gateway. This node is also responsible for generating refresh tokens and expire tokens depend on user requests and access token validity. </span></div>
</li>
</ul>
</ul>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">API Traffic Manager</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This is the newly added instance to do the throttle policy evaluation through Siddhi runtime. When the API request comes to a gateway, it will send data to the traffic manager node which will be processed by the traffic manager instance to take throttle decisions. The traffic manager will execute the throttle policies against data that comes with every event and take decisions based on applicability of each throttle policy available in the system. If a particular request is throttled, then the traffic manager will send those details to a JMS topic. Every gateway node is subscribed to this JMS topic, hence throttle decisions will be notified to the gateway through JMS messages.</span></div>
</li>
</ul>
</ul>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Figure 7 shows the deployment diagram with the new throttling implementation. It shows the interactions between the nodes and databases. Some diagrams below are used to separate the message broker instance for clear demonstration. Typically, production deployment will use a message broker that’s shipped with the traffic manager instance.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img alt="abc.png" height="493" src="https://lh4.googleusercontent.com/CKs2CBuaRC5-lPnaTNx2qNH1pfl6b1VITj9ful_k2O8qXc-9ET6inYFZI0hUCx3Le4PQNR7IqtPLBnZEKaOzjCHN15rj3wdmP3jInsXrvy9Uikl_MyahI2ssljwPFgJ22EfpdF-n" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624" /></span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div style="text-align: center;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> Figure 7: API Manage Deployment Overview</span></div>
</div>
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; color: #434343; font-family: "arial"; font-size: 18.666666666666664px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Throttle Data Publishing Functionality</span></h3>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The data required to take the throttle decision from the traffic manager needs to be published from each gateway node. It’s required to publish data from each and every request that comes to the gateway. Binary or thrift transport can be used to publish data from the gateway to the traffic manager. Data publishing has been fully implemented asynchronously in order to remove the overhead of data publishing from the API request path. Hence, the API request is unaffected by data publishing overhead. Even if the traffic manager instance goes down, the API gateway will continue to serve the API requests, but throttling won’t be applied. Figure 8 shows how data publishing has been done without affecting the API request.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img alt="request.png" height="329" src="https://lh4.googleusercontent.com/0wd8lDvBtfDylsNSPJRXnQMPE3WiowCRZyXTS0tEM7YWTlfNkacHUHTPryNVb4_x5DWZbTqilulz2biGOrguKVkC7EU-JKPhusZU331nrb7mibSrc0L3QTLveziPIlrPgfLEMvw-" style="border: none; transform: rotate(0rad);" width="624" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div style="text-align: center;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> Figure 8: Data Publishing To Traffic Manager</span></div>
</div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">As in Figure 8, the throttle handler will extract the required data and pass it to the throttle data publisher that’s responsible for publishing throttle data asynchronously without affecting the API request. Message ID, Application Throttle Key, Application Tier, API Throttle Key, API Tier, Subscription Throttle Key, Subscription Tier, Resource Level Throttle Key, Resource Level Tier, End User, API Context, API Version, Tenant Domain of owner of Application, Tenant Domain of the owner of API, Application ID, Remote IP and API Name will be published for every request from the gateway to the traffic manager. If publishing request headers, and JWT Claims and query parameters are enabled, these data also will be published from every request that comes to the API gateway. </span></div>
<b style="font-weight: normal;"><br /></b>
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; color: #434343; font-family: "arial"; font-size: 18.666666666666664px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Throttle Policy Creation</span></h3>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Traffic manager instance makes throttle decisions based on throttle policies deployed in its environment. When a user creates a throttle policy from user interfaces of the admin application, the API manager generates a compatible policy in Siddhi query language. User interfaces that defines throttle policies hide the complexity of the Siddhi query language by providing a rich UI to configure throttle policies. The API manager uses a set of predefined templates to generate complex Siddhi query based on user inputs. The user can define throttle policies through the admin application. The admin application contains separate views to define advance throttling, subscription tiers, application tiers, custom rules, and blacklist conditions. Since blacklist conditions process through the gateway itself there won’t be any Siddhi query language based throttle policy generated when adding a blacklist condition. When a user adds a throttle policy, the API manager will generate a Siddhi query language based throttle policy and deploy it to the traffic manager. Figure 9 shows the flow when a user adds a throttle policy. </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img alt="abcd.png" height="208" src="https://lh4.googleusercontent.com/wTT4Ju85tGfuchz9DCnHD3NWbPkOu9K4JOybHr4EEY-5HyNNjZE1rhbO6dX6AVh1dpfZCspon3J-FadiEfNKjHw4Fna0XB5ckoVY40r0lYGreTKnGkBm5c4D_8uIqsMBiGcrac9y" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div style="text-align: center;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Figure 9 Publishing Throttle Policy To Traffic Manager</span></div>
</div>
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; color: #434343; font-family: "arial"; font-size: 18.666666666666664px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Throttle Policy Definition</span></h3>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The traffic manager instance is responsible for processing data comes through throttle stream and makes decisions. Once the traffic manager receives a request, Siddhi runtime will process the deployed policies in the traffic manager instance. Figure 10 shows different sections of a throttle policy. </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Policy name</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This section contains the name of the throttle policy</span></div>
</li>
</ul>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Policy description</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This section contains the description of throttle policy</span></div>
</li>
</ul>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Request Stream Definition</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This section defines the mapping between incoming data from throttle request stream to a Siddhi stream named RequestStream that can be understood by Siddhi runtime. </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span></div>
</li>
</ul>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Global Throttle Stream Definition</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This section defines the mapping of Siddhi output stream named GlobalThrottleStream to outgoing global throttle stream. This section has done the opposite mapping performance in the above section.</span></div>
</li>
</ul>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Eligibility Query</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This section contains the eligibility query. This query will decide whether the policy will be further processed or not. Every the policy deployed in traffic manager will execute up to this point for every request. If the data from the request stream matches the criteria defined in the eligibility query then it will be further processed. For example, check throttle state section in the sample policy in Figure 10 will only be executed if the subscription tier is gold and the tenant domain of the API owner is carbon.super which is specified in the eligibility query.</span></div>
</li>
</ul>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Check Throttle State</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This section contains the query that checks whether the current request is throttled or not. It performs a count operation by grouping the throttle key that comes from the stream. This query checks the current request within a specified time interval of policy and checks if the allowed request count has exceeded or not. This query outputs throttle key, expiry timestamp of current time window and throttle state whether the request is throttled or not.</span></div>
</li>
</ul>
</ul>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Export to Global Throttle Stream</span></div>
</li>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: circle; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">This section contains the operation that sends the throttle decision to the JMS Topic. Query in this section sends a message to the JMS Topic if there is a change in the throttle state. Moreover, if the current request is throttled, then the query will send a message to the JMS Topic. This is because if a new gateway spawn or old gateway becomes active, the throttle state will need to be received to the newly added gateways to the cluster. So when the first request comes to the gateway it will trigger the throttle policy in the traffic manager. Only if that request is throttled, the traffic manager will notify gateways. If the request is throttled, gateways won’t publish any data to the traffic manager until the throttling time interval is over.</span></div>
</li>
</ul>
</ul>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.7999999999999998; margin-bottom: 14pt; margin-top: 0pt;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img alt="query.png" height="520" src="https://lh4.googleusercontent.com/7g_fIrxyTl1FKMD7bN4FpLRj8CJWxDWzY2KYRUyHLJsM6T21C-dz6j_43h-zeR0qMBzVpYtxmpNdlsILgyKzMhF01Trugs51giA36rYryUA-69UIbCVPNEejvnlVeVkPassDYaCV" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="624" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: "arial"; font-size: 14.6667px; line-height: 26.4px; white-space: pre-wrap;">Figure 10: Sample Throttle Policy</span></td></tr>
</tbody></table>
</div>
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; color: #434343; font-family: "arial"; font-size: 18.666666666666664px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Throttle Decision Making and Notify Throttle Decision</span></h3>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">The Traffic Manager evaluates throttle policies against each of the requests that comes from the gateway and makes throttle decisions. Since the Traffic Manager evaluates all policies deployed in its environment, Eligibility Query decides if the policies will be further processed. As mentioned in the throttle policy definition section, when a particular request meets with the condition specified in the throttle policy, it will trigger an extension that sends a throttle decision to the JMS topic. Gateways that subscribe to the JMS topic will get the throttle decisions from the traffic manager. Figure 11 shows the flow of how the traffic manager instance notifies throttle decisions to gateways through the JMS Topic. Throttle decision message that comes to the gateway contains throttle key, throttle window expiry time, and throttle state. These properties will be used by the throttle handler to take decisions on incoming messages to the gateway.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img alt="decision.png" height="284" src="https://lh5.googleusercontent.com/Gy93fB8WiiRonmD1Vh4m_5VypxK91kQr8urtqrYE4T4l3rxBlvCQ-BoCsOyy_Cr0693R5jgTHmooJAhFpP4Gfl0Z0ABBXdx8LZhmoxSxXI8fBbeohNeTVs6YS4g18e-IacNRxRss" style="border: none; margin-left: auto; margin-right: auto; transform: rotate(0rad);" width="624" /></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-family: "arial"; font-size: 14.6667px; line-height: 20.24px; white-space: pre-wrap;"> Figure 11: Notify Throttle Decision</span></td></tr>
</tbody></table>
</div>
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; color: #434343; font-family: "arial"; font-size: 18.666666666666664px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Custom Policy Feature</span></h3>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Custom policies provide the ability to define user-defined throttle policies. As described above, custom policies contains two major parts, namely throttle policy definition and key template. When writing a throttle policy it’s required to define a throttle key to maintain counters against it. In a custom policy it’s required to have the same throttle key in the throttle policy and key template. It’s because the gateway node will replace the key template value with actual values coming from the request and check whether the template key is present in the throttle data map. For example if an administrative user needs to limit the requests of a particular user, then he/she will select the key template to be $userId and the throttle key to be the user ID as well. If a policy is defined to limit a user called “testuser”, then the throttle key of the policy will be “testuser”. Once the policy is triggered, the throttle message will be sent from the traffic manager with the throttle key “testuser”. From the gateway $userId template a key will be replaced by an authenticated user of the incoming request and checked whether the key is present in a throttle data map. Figure 11 shows what happens when a custom policy is added to the deployment.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img alt="abcdef.png" height="236" src="https://lh4.googleusercontent.com/K7GDoJW3Qu34jpyhQ_0sd4jVzlO2eQGkKStNeDcwtoGLNAFh-WL74yW1IVBcc4WwUTcdlsU2QeRaUfmO2HshCLaiBpC7zwOtJAbsC8pRD7YSGSqNB1BqUBdBtxZH6lfmtIYTP6WG" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div style="text-align: center;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> Figure 12: Deploying Custom Policy</span></div>
</div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">As in Figure 12, when a policy is added or updated in from the admin dashboard, there will be three main operations that happens in the system. One operation is deploying the throttle policy into the traffic manager. Thereafter the key template will be published through the JMS topic to the gateway. The final operation is saving the custom policy with a key template into the database. When a new gateway instance is spawned, it needs to get all available key templates of the system. To get the all available key templates, the newly spawn gateway will call a key manager instance to retrieve all available key templates in the system. This way the gateway node will receive all available blacklist conditions in the system.</span></div>
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; color: #434343; font-family: "arial"; font-size: 18.666666666666664px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Blacklist condition Feature</span></h3>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Blacklist conditions allow admin users to block API invocation by API Name, API User, Application, and IP. These conditions will be instantly applied to all the gateways in a deployment. There won’t be any Siddhi query language based throttle policies deployed in the traffic manager to make throttle decisions for blacklist conditions. The decision based on blacklist conditions are only processed and taken within a gateway. Figure 12 shows operations performed when an admin user adds a blacklist condition. There won’t be any policy deployment in the traffic manager during the stage of adding blacklist conditions. When adding a blacklist condition, the condition type and condition value will be published to the JMS topic which will be received by all subscribed gateways. The blacklist conditions will be saved in the database as well.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img alt="abcde.png" height="269" src="https://lh5.googleusercontent.com/x8-4E6SNBjWRm74uZVZF1X9XmQGdROwzxls35qb7IElOfKqIr6GIbFqiFf3FFz731ABbuoTCwAdgMyrsxS86Anr9Oj4-Bjmb8n8z27ORRBlDAc6wpeCh1xDocFs5-VwAfznHj-hl" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<div style="text-align: center;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Figure 13: Adding Blocking Condition</span></div>
</div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">When a new gateway spawns it will fetch all available blacklist condition from the key manager initially. Then block condition updates will be fully communicated through JMS messages. </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<h3 dir="ltr" style="line-height: 1.38; margin-bottom: 4pt; margin-top: 16pt;">
<span style="background-color: transparent; color: #434343; font-family: "arial"; font-size: 18.666666666666664px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Throttle Decision Making at Throttle Handler</span></h3>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Deciding if the incoming request is throttled or not is a critical functionality of an API gateway. The API manager has a dedicated handler to take the throttling decisions based on incoming request data. The above sections discussed how throttle decisions comes to an API gateway. New throttling implementation contains several data maps to keep throttling decisions. Throttling decisions made by the traffic manager will be inserted into a single data map. Key templates of custom policies and blacklist conditions are separately maintained in different data maps. </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img alt="thottledes.png" height="167" src="https://lh5.googleusercontent.com/mcpmG6Hhml7OyjdZQJuCFtZZHXZiCbnI8N6cyY9tJZFteYxeEcGzRQ6erZoeV-zmPA_Gb42GDZiKTmMlvz_jDBLa_fR3cWbrmu8UtrgG0t4P8SjLHX1y7ZsOHjyRw_rAVpnWGm1_" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Figure 13: Taking The Throttle Decision </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">When a request comes to a gateway, the throttle handler first checks whether any blacklist conditions are present in the data maps. If blacklist conditions are present, it will evaluate the request data against the present blacklist conditions. For example, if a admin user adds a blacklist condition to block an end user who invokes APIs, then it will be evaluated and a decision will be made by the throttle handler. Afterwards, the throttle handler creates the resource level throttle key, API level throttle key, subscription level throttle key, and hard limit throttle keys to evaluate and understand if the current request is throttled at any level. First, the handler will check resource level throttling and API level throttling by checking to see if the resource level throttle key or API level throttle key is present in the throttle data map. If present, it will further check the expiry time window of the throttle decision and decide if the current request is throttled or not. If the request isn’t throttled at these two levels, then subscription level throttling will be applied. When taking the subscription level throttling decision, the handler will first check if subscription key is present in the throttle data map. If not, burst controlling will be applied to control request bursts. If the request isn’t throttled at this level as well a per token quota based throttling will be applied. If per token quota throttling is also not applied then a handler will check whether any key templates are present in the key template data map. If key templates are present then a handler will replace template values with actual values and evaluate them against with data maps to check whether the current request is throttled or not. Finally hard throttling will be applied to protect the API backend. If a request doesn’t get throttled out and any level, it will be sent to the backend. The format of throttled out messages received for each level of throttling is as follows: </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Api Level Throttled Out Response</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">{</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "fault": {</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "code": 900800,</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "message": "Message throttled out",</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "description": "You have exceeded your quota",</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "nextAccessTime": "2016-May-21 15:41:00+0000 UTC"</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> }</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">}</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Hard Limit Throttled Out Response</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">{</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "fault": {</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "code": 900801,</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "message": "API Limit Reached",</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "description": "API not accepting requests"</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> }</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">}</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Resource Level Throttled Out Response</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">{</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "fault": {</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "code": 900802,</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "message": "Message throttled out",</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "description": "You have exceeded your quota",</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "nextAccessTime": "2016-May-21 15:05:00+0000 UTC"</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> }</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">}</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Per Token Quota Throttled Out Response</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">{</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "fault": {</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "code": 900803,</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "message": "Message throttled out",</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "description": "You have exceeded your quota",</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "nextAccessTime": "2016-May-21 15:36:00+0000 UTC"</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> }</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">}</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Subscription Level Throttled Out Response</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">{</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "fault": {</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "code": 900804,</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "message": "Message throttled out",</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "description": "You have exceeded your quota",</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "nextAccessTime": "2016-May-21 15:36:00+0000 UTC"</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> }</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">}</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Blocked Response</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">{</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "fault": {</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "code": 900805,</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "message": "Message blocked",</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "description": "You have been blocked from accessing the resource"</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> }</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">}</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Throttle Out by Custom Policy Response</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">{</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "fault": {</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "code": 900806,</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "message": "Message throttled out",</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "description": "You have exceeded your quota",</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> "nextAccessTime": "2016-May-21 17:05:10+0000 UTC"</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> }</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">}</span></div>
<h2 dir="ltr" style="line-height: 1.38; margin-bottom: 6pt; margin-top: 18pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 21.333333333333332px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Summary</span></h2>
<span style="font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">The new throttling implementation of WSO2 API Manager is very powerful and offers significant advantages compared to the old throttling implementation. This article discussed the architecture of new throttling implementation in detail. The new throttling implementation offers the flexibility to create complex policies, such as defining throttling policies considering the values of headers, query parameters, remote IP and JWT claims coming through a request. Moreover, custom policies allow users to create user-defined policies to meet their requirements. The newly added blacklist feature provides the ability to prevent attacks that come to the gateway by instantly blocking API calls by API Name, API Context, IP and application name. These functions highlight the power of the new throttling implementation.</span>Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com1tag:blogger.com,1999:blog-8542024558530697143.post-72090318968259787452016-02-20T01:40:00.001-08:002016-02-20T01:40:07.170-08:00Getting java.security.InvalidKeyException: Illegal key size or default parameters when SSO with WSO2 IS<br />Getting following error while configuring SSO with WSO2 products. Then you have to You need to upgrade the JCE so you can use 256 bit or more. Solution is to download appropriate policy jars from oracle website. Following steps will be suited for java 8.<div>
<br /><ol style="background-color: white; border: 0px; color: #222426; font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; font-size: 15px; line-height: 19.5px; margin: 0px 0px 1em 30px; padding: 0px;">
<li style="border: 0px; margin: 0px 0px 0.5em; padding: 0px; word-wrap: break-word;"><div style="border: 0px; clear: both; margin-bottom: 1em; padding: 0px;">
Download the Java Cryptography Extension (JCE) from<a href="http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html" rel="nofollow" style="border: 0px; color: #005999; cursor: pointer; margin: 0px; padding: 0px; text-decoration: none;">http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html</a></div>
</li>
<li style="border: 0px; margin: 0px 0px 0.5em; padding: 0px; word-wrap: break-word;"><div style="border: 0px; clear: both; margin-bottom: 1em; padding: 0px;">
Copy the files inside jce_policy-8.zip to ${java.home}/jre/lib/security/ or appropriate location based on your java home</div>
</li>
<li style="border: 0px; margin: 0px; padding: 0px; word-wrap: break-word;"><div style="border: 0px; clear: both; margin-bottom: 1em; padding: 0px;">
Restart the server</div>
</li>
</ol>
<br />
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;">
[2016-02-20 14:57:14,354] ERROR {org.wso2.carbon.identity.sso.saml.processors.SPInitSSOAuthnRequestProcessor} - Error processing the authentication request
org.wso2.carbon.identity.base.IdentityException: Error while signing the SAML Response message.
at org.wso2.carbon.identity.base.IdentityException.error(IdentityException.java:162)
at org.wso2.carbon.identity.sso.saml.util.SAMLSSOUtil.setEncryptedAssertion(SAMLSSOUtil.java:676)
at org.wso2.carbon.identity.sso.saml.builders.DefaultResponseBuilder.buildResponse(DefaultResponseBuilder.java:75)
at org.wso2.carbon.identity.sso.saml.processors.SPInitSSOAuthnRequestProcessor.process(SPInitSSOAuthnRequestProcessor.java:159)
at org.wso2.carbon.identity.sso.saml.SAMLSSOService.authenticate(SAMLSSOService.java:164)
at org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.handleAuthenticationReponseFromFramework(SAMLSSOProviderServlet.java:691)
at org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.handleRequest(SAMLSSOProviderServlet.java:178)
at org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.doGet(SAMLSSOProviderServlet.java:95)
at org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.sendRequestToFramework(SAMLSSOProviderServlet.java:1025)
at org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.sendToFrameworkForAuthentication(SAMLSSOProviderServlet.java:457)
at org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.handleSPInitSSO(SAMLSSOProviderServlet.java:360)
at org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.handleRequest(SAMLSSOProviderServlet.java:195)
at org.wso2.carbon.identity.sso.saml.servlet.SAMLSSOProviderServlet.doPost(SAMLSSOProviderServlet.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.wso2.carbon.ui.filters.CSRFPreventionFilter.doFilter(CSRFPreventionFilter.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.wso2.carbon.ui.filters.CRLFPreventionFilter.doFilter(CRLFPreventionFilter.java:59)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57)
at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.wso2.carbon.identity.base.IdentityException: Error while Encrypting Assertion
at org.wso2.carbon.identity.base.IdentityException.error(IdentityException.java:162)
at org.wso2.carbon.identity.sso.saml.builders.encryption.DefaultSSOEncrypter.doEncryptedAssertion(DefaultSSOEncrypter.java:58)
at org.wso2.carbon.identity.sso.saml.util.SAMLSSOUtil.setEncryptedAssertion(SAMLSSOUtil.java:665)
... 56 more
Caused by: org.opensaml.xml.encryption.EncryptionException: Error encrypting XMLObject
at org.opensaml.xml.encryption.Encrypter.encryptElement(Encrypter.java:453)
at org.opensaml.saml2.encryption.Encrypter.encrypt(Encrypter.java:343)
at org.opensaml.saml2.encryption.Encrypter.encrypt(Encrypter.java:257)
at org.wso2.carbon.identity.sso.saml.builders.encryption.DefaultSSOEncrypter.doEncryptedAssertion(DefaultSSOEncrypter.java:55)
... 57 more
Caused by: org.apache.xml.security.encryption.XMLEncryptionException: Illegal key size or default parameters
Original Exception was java.security.InvalidKeyException: Illegal key size or default parameters
at org.apache.xml.security.encryption.XMLCipher.encryptData(XMLCipher.java:1140)
at org.apache.xml.security.encryption.XMLCipher.encryptData(XMLCipher.java:1083)
at org.opensaml.xml.encryption.Encrypter.encryptElement(Encrypter.java:450)
... 60 more
Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1026)
at javax.crypto.Cipher.implInit(Cipher.java:801)
at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
at javax.crypto.Cipher.init(Cipher.java:1249)
at javax.crypto.Cipher.init(Cipher.java:1186)
at org.apache.xml.security.encryption.XMLCipher.encryptData(XMLCipher.java:1137)
... 62 more</code></pre>
</div>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-41090590003883472192016-02-19T01:36:00.000-08:002016-02-19T03:13:15.316-08:00Common and Error Handling Sequences WSO2 ESB & API Manager<div style="line-height: 115%; margin-bottom: 0in;">
<span style="font-size: medium;">
</span><span style="font-size: medium;"><b>Common and Error
Handling Sequences</b></span></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<b>IMPORTANT</b></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<ul>
<li><div style="line-height: 115%; margin-bottom: 0in;">
By default if
backend endpoint returns SOAP Fault, ESB won’t trigger fault
sequence of a proxy service. To execute fault sequence of a proxy
service upon backend SOAP Fault, following property need to be set
in the insequence
</div>
</li>
</ul>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in; text-indent: 0.5in;">
<property
name="FORCE_ERROR_ON_SOAP_FAULT" value="true"/></div>
<div style="line-height: 115%; margin-bottom: 0in; text-indent: 0.5in;">
<br /></div>
<ul>
<li><div style="line-height: 115%; margin-bottom: 0in;">
ESB Suspends
the endpoint for 30 seconds if SOAP Fault occurred at endpoint.
Messages coming to ESB during that time period will be ignored and
will not be sent to the endpoint. Endpoint suspension can be
disabled with following setting</div>
</li>
</ul>
<div style="line-height: 115%; margin-bottom: 0in;">
</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>address</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:9000/services/SimpleStockQuoteService<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>30000<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>fault<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>suspendOnFailure</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>errorCodes</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>-1<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>errorCodes</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>initialDuration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>0<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>initialDuration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>progressionFactor</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>1.0<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>progressionFactor</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>maximumDuration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>0<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>maximumDuration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>suspendOnFailure</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>markForSuspension</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>errorCodes</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>-1<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>errorCodes</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>markForSuspension</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>address</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<br />
<span style="font-size: large;"><b>Fault Sequences</b></span><br />
<div style="margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Sequence:
</b></i>fault_email.xml</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_email<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>clone</span> <span class="token attr-name" style="box-sizing: inherit;">continueParent</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('SERVER_HOST')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ServerHost<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fn:concat('[', $ctx:ServerHost ,']')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>environment<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fn:concat($ctx:environment, ' An Error Occurred Service : ',$ctx:proxy.name)<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Subject<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>transport<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>OUT_ONLY<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>transport.mail.Format<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Attachment<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>AttachmentFile<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ErrorMessage.xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:messageBody<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>transport.mail.bodyWhenAttached<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>header</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>To<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>NO_ENTITY_BODY<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>RESPONSE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ContentType<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>text/html<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>messageType<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>text/html<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>address</span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>mailto:harsz89@gmail.com<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>clone</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
This is a custom
sequence developed for sending mails when there is a SOAP Fault
occured. Refer [1] to configure the mail transport in ESB. It’s
necessary to enable the text/html message formatter of the ESB. It
can be enabled in {ESB_HOME}/repository/conf/axis2/axis2.xml by
uncommenting following xml tag.</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<messageFormatter
class="org.wso2.carbon.relay.ExpandingMessageFormatter"
contentType="text/html"/></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
This sequence will
attached SOAP Fault message to a file and responsible incoming
message to the email body when sending the mail which is requested by
the team. To get the incoming message to send within the email, it’s
necessary to get the request message to a property called messageBody
in insequence as follow.
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<property
expression="$body/*" name="messageBody"
scope="default" type="STRING"/></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Example: </b></i>
</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>proxy</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>StockQuoteProxy<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">transports</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>https,http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">statistics</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">startOnLoad</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>FORCE_ERROR_ON_SOAP_FAULT<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_email<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>address</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:9000/services/SimpleStockQuoteService<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>publishWSDL</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>file:repository/samples/resources/proxy/sample_proxy_1.wsdl<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>description</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>proxy</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Sequence:
</b></i>fault_filter_based_http_status_code.xml</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_filter_based_http_status_code<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>filter</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>401<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">source</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('axis2', 'HTTP_SC')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Server<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Unauthorized to access the resource<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>else</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>filter</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>filter</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>500<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">source</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('axis2', 'HTTP_SC')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Server<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Internal Server Error Occurred<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>else</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>filter</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
This sequence
demonstrate the capability of sending SOAP Fault to the client based
on the HTTP Status code return from the backend. ESB error codes such
as 500, 401 not triggers Fault Sequence. Hence sometimes, depend on
the use case proxy service need to send SOAP Fault back to the client
based of HTTP Status code. This sequence can used and extend to
handle it.</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Example: </b></i>
</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>proxy</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>StockQuoteProxy<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">transports</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>https,http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">statistics</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">startOnLoad</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>FORCE_ERROR_ON_SOAP_FAULT<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_filter_based_http_status_code<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_email<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>address</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:9000/services/SimpleStockQuoteService<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>publishWSDL</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>file:repository/samples/resources/proxy/sample_proxy_1.wsdl<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>description</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>proxy</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Sequence:
</b></i>fault_filter_format_based_http_status_code.xml</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
Previous sequence
used to send the standard SOAP Fault back to client depend on the
HTTP Status code. But this sequence uses payloadfactory mediator to
build a custom fault message to send back to client<br />
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_filter_based_http_status_code<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>filter</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>401<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">source</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('axis2', 'HTTP_SC')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Server<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Unauthorized to access the resource<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>else</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>filter</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>filter</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>500<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">source</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('axis2', 'HTTP_SC')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Server<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Internal Server Error Occurred<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>else</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>filter</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Example: </b></i>
</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>proxy</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>StockQuoteProxy<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">transports</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>https,http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">statistics</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">startOnLoad</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>FORCE_ERROR_ON_SOAP_FAULT<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_filter_format_based_http_status_code<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_email<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>address</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:9000/services/SimpleStockQuoteService<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>publishWSDL</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>file:repository/samples/resources/proxy/sample_proxy_1.wsdl<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>description</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>proxy</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Sequence:
</b></i>fault_format_endpoint_fault.xml</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
ESB triggers fault
sequence on various endpoint failures[2]. Depend on the returned
error code, ESB may need to send custom SOAP Fault messages back to
the client. This sequence can be used to send custom faults messages
with payloadfactory mediator and can be extend to meet the
requirements.</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_format_endpoint_fault<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>switch</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">source</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:ErrorCode<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101000<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>101000<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>EndPoint Connection Failure<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Receiver Error<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101001<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>101001<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>EndPoint Connection Failure<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Receiver Error<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101500<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>101500<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>EndPoint Connection Failure<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Sender Error<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101501<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>101501<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>EndPoint Connection Failure<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Sender Error<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101503<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>101503<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Network Connection Failure<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Connection Failure<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101504<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>101504<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Network Connection Failure<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Connection Timeout<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101505<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>101505<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Network Connection Failure<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Connection Closed<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101506<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>101506<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Network Connection Failure<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Protocol Violation<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101507<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>101507<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Network Connection Failure<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Connection Cancelled<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101508<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>101508<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Network Connection Failure<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Connection Timeout<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101509<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>101509<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Network Connection Failure<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Send Abort<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101510<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>101510<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Network Connection Failure<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Response Processing Error<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>default</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>$1<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>$2<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>$3<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>arg</span> <span class="token attr-name" style="box-sizing: inherit;">evaluator</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_CODE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>arg</span> <span class="token attr-name" style="box-sizing: inherit;">evaluator</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>arg</span> <span class="token attr-name" style="box-sizing: inherit;">evaluator</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_DETAIL')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>args</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>default</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>switch</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>header</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>To<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>RESPONSE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Example: </b></i>
</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>proxy</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>StockQuoteProxy<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">transports</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>https,http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">statistics</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">startOnLoad</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>FORCE_ERROR_ON_SOAP_FAULT<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_format_endpoint_fault<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>address</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:9000/services/SimpleStockQuoteService<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>publishWSDL</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>file:repository/samples/resources/proxy/sample_proxy_1.wsdl<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>description</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>proxy</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Sequence:
</b></i>fault_mediator_endpoint_fault.xml</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_mediator_endpoint_fault<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>switch</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">source</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:ErrorCode<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101000<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Client<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101001<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Client<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101500<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Client<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101501<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Client<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101503<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Client<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101504<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Client<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101505<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Client<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101506<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Client<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101507<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Client<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101508<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Client<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101509<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Client<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>case</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>101510<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Client<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>case</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>default</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soap11Env</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://schemas.xmlsoap.org/soap/envelope/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11Env:Client<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>role</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>default</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>switch</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>header</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>To<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>RESPONSE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
As in the previous
endpoint error handling sequence, makeFault mediator can be used
instead of payloadfactory mediator to send SOAP Fault to client
depend on the endpoint error code</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Example: </b></i>
</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>proxy</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>StockQuoteProxy<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">transports</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>https,http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">statistics</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">startOnLoad</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>FORCE_ERROR_ON_SOAP_FAULT<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_mediator_endpoint_fault<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>address</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:9000/services/SimpleStockQuoteService<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>publishWSDL</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>file:repository/samples/resources/proxy/sample_proxy_1.wsdl<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>description</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>proxy</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Sequence:
</b></i>fault_format.xml</div>
<div style="line-height: 115%; margin-bottom: 0in;">
</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_format<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>$1<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_CODE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>$2<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_MESSAGE</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>$3<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>ERROR_DETAIL</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>arg</span> <span class="token attr-name" style="box-sizing: inherit;">evaluator</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_CODE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>arg</span> <span class="token attr-name" style="box-sizing: inherit;">evaluator</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>arg</span> <span class="token attr-name" style="box-sizing: inherit;">evaluator</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_DETAIL')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>args</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<br /><br />This sequence can be used to format the incoming fault message before it send to client. It’s simply changed the incoming format to user defined format by using payloadfactory mediator<br /><br /><br /><pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>proxy</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>StockQuoteProxy<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">transports</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>https,http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">statistics</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">startOnLoad</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>FORCE_ERROR_ON_SOAP_FAULT<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_format<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>address</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:9000/services/SimpleStockQuoteService<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>publishWSDL</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>file:repository/samples/resources/proxy/sample_proxy_1.wsdl<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>description</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>proxy</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Sequence:
</b></i>fault_full_log.xml</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_full_log<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>log</span> <span class="token attr-name" style="box-sizing: inherit;">category</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ERROR<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">level</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>custom<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>text<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>An error occured<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ERROR_MESSAGE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_CODE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ERROR_CODE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_DETAIL')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ERROR_DETAIL<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_EXCEPTION')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ERROR_EXCEPTION<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('FaultTo')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>FaultTo<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('FAULT')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>FAULT<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('SENDING_FAULT')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>SENDING_FAULT<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>REPLY<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('RESPONSE ')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>RESPONSE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('HTTP_SC')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>HTTP_SC<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>log</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>log</span> <span class="token attr-name" style="box-sizing: inherit;">category</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ERROR<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">level</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>full<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
</div>
<br />This sequence can be used to log ful incoming SOAP Fault message. This sequence is better to use with some other error sequence depend on the requirement.<br /><br /><div class="col-lg-12" style="box-sizing: inherit; clear: both; float: left; min-height: 1px; padding-left: 15px; padding-right: 15px; position: relative; width: 1150px;">
<i style="background-color: transparent; line-height: 115%;"><b><br />Example:</b></i></div>
<div style="margin-bottom: 0in;">
<div style="line-height: 115%;">
<i><b><br /></b></i></div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>proxy</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>StockQuoteProxy<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">transports</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>https,http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">statistics</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">startOnLoad</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>FORCE_ERROR_ON_SOAP_FAULT<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_full_log<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_format<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>address</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:9000/services/SimpleStockQuoteService<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>publishWSDL</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>file:repository/samples/resources/proxy/sample_proxy_1.wsdl<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>description</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>proxy</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<span style="line-height: 115%;"><span style="font-style: italic;">Sequence:
</span></span><span style="line-height: 115%;">fault_rest_api_json.xml</span></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<pre class=" language-markup" style="background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: menlo, monaco, consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: menlo, monaco, consolas, monospace; height: auto; padding: 0px; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_rest_api_json<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>log</span> <span class="token attr-name" style="box-sizing: inherit;">level</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>custom<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STATUS<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Executing custom 'fault' sequence<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns3</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soapenv</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://www.w3.org/2003/05/soap-envelope<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_CODE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ERROR_CODE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns3</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soapenv</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://www.w3.org/2003/05/soap-envelope<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ERROR_MESSAGE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>log</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>fault</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>rs</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://wso2.com<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>code</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>$1<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>code</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>type</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Status report<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>type</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>message</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Runtime Error<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>message</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>description</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>$2<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>description</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>arg</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns3</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soapenv</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://www.w3.org/2003/05/soap-envelope<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">evaluator</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:ERROR_CODE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>arg</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns3</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soapenv</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://www.w3.org/2003/05/soap-envelope<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">evaluator</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:ERROR_MESSAGE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>args</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>filter</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>ns3</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://org.apache.synapse/xsd<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>soapenv</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://www.w3.org/2003/05/soap-envelope<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">xpath</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:CUSTOM_HTTP_SC<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:CUSTOM_HTTP_SC<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>HTTP_SC<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>else</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>HTTP_SC<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>500<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>else</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>filter</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>RESPONSE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>header</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>To<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>NO_ENTITY_BODY<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ContentType<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Authorization<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>transport<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Host<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>transport<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Accept<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>transport<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>messageType<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>application/json<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
This sequence can be
used in rest apis to return the error message in json format.
Following JSON message will return as response upon a endpoint
failure</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
{</div>
<div style="line-height: 115%; margin-bottom: 0in;">
"fault":</div>
<div style="line-height: 115%; margin-bottom: 0in;">
{</div>
<div style="line-height: 115%; margin-bottom: 0in;">
"code":101503,</div>
<div style="line-height: 115%; margin-bottom: 0in;">
"type":"Status
report",</div>
<div style="line-height: 115%; margin-bottom: 0in;">
"message":"Runtime
Error",</div>
<div style="line-height: 115%; margin-bottom: 0in;">
"description":"Error
connecting to the back end"</div>
<div style="line-height: 115%; margin-bottom: 0in;">
}}</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Example: </b></i>
</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>api</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml_to_json_api_in<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">context</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>/test<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>resource</span> <span class="token attr-name" style="box-sizing: inherit;">methods</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>GET<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri-template</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>/endpoint<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">protocol</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">faultSequence</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_rest_api_json<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>http</span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri-template</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:8080/test/endpoint<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>60000<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>fault<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>http</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml_to_json_out_message<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>resource</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>api</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Sequence:
</b></i>fault_rest_api_xml.xml</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_rest_api_xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>log</span> <span class="token attr-name" style="box-sizing: inherit;">level</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>custom<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STATUS<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Executing default 'fault' sequence<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_CODE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ERROR_CODE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('ERROR_MESSAGE')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ERROR_MESSAGE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>log</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>filter</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap1[1-2]<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">source</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>get-property('MESSAGE_FORMAT')<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>SOAP_FAULT_CODE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Server<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>makefault</span> <span class="token attr-name" style="box-sizing: inherit;">version</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>soap11<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>code</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:SOAP_FAULT_CODE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>reason</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:ERROR_MESSAGE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>makefault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>else</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>payloadFactory</span> <span class="token attr-name" style="box-sizing: inherit;">media-type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>fault</span> <span class="token attr-name" style="box-sizing: inherit;"><span class="token namespace" style="box-sizing: inherit;">xmlns:</span>rs</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://repsol.es<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>code</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>$1<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>code</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>type</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Status report<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>type</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>message</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>Runtime Error<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>message</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>description</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>$2<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>description</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span><span class="token namespace" style="box-sizing: inherit;">rs:</span>fault</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>format</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>args</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>arg</span> <span class="token attr-name" style="box-sizing: inherit;">evaluator</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:ERROR_CODE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>arg</span> <span class="token attr-name" style="box-sizing: inherit;">evaluator</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:ERROR_MESSAGE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>args</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>payloadFactory</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>filter</span> <span class="token attr-name" style="box-sizing: inherit;">regex</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>^(?!.*(POST|PUT)).*$<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">source</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$axis2:HTTP_METHOD<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>messageType<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>application/xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>else</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>filter</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>else</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>filter</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>filter</span> <span class="token attr-name" style="box-sizing: inherit;">xpath</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:CUSTOM_HTTP_SC<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:CUSTOM_HTTP_SC<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>HTTP_SC<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>then</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>else</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>HTTP_SC<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>500<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>else</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>filter</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>RESPONSE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>header</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>To<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>NO_ENTITY_BODY<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ContentType<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Authorization<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>transport<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Host<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>transport<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Accept<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>transport<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
</div>
<div style="margin-bottom: 0in;">
This sequence can be used in rest apis to return the error message in xml format. Following xml message will return as response upon a endpoint failure<br />
<br />
<div style="line-height: 115%;">
<rs:fault
xmlns:rs="<span style="color: #1155cc;"><u>http://wso2.com</u></span>"></div>
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<rs:code>101503</rs:code></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<rs:type>Status
report</rs:type></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<rs:message>Runtime
Error</rs:message></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<rs:description>Error
connecting to the back end</rs:description></div>
<div style="line-height: 115%; margin-bottom: 0in;">
</rs:fault></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Example: </b></i>
</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>api</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml_to_json_api_in<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">context</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>/test<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>resource</span> <span class="token attr-name" style="box-sizing: inherit;">methods</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>GET<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri-template</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>/endpoint<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">protocol</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">faultSequence</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_rest_api_xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>http</span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri-template</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:8080/test/endpoint<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>60000<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>fault<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>http</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml_to_json_out_message<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>resource</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>api</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<span style="font-size: small;"><b>Common
Sequences </b></span>
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Sequence:</b></i>
json_to_xml_in_message.xml</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>json_to_xml_in_message<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>messageType<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>application/xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<ul>
<li><div style="line-height: 115%; margin-bottom: 0in;">
This sequence
can be used to transform the json message to xml. For example if
endpoint accepts xml message and incoming message to the ESB is
json, then using this sequence ESB will convert the json to its xml
representation and send to the endpoint. This will convert json
format of the incoming message to its xml format. If it need further
customize representation, it can be achieve through script mediator
of payloadfactory mediator</div>
</li>
</ul>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<b>Example:</b></div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>api</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">context</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>/test<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>test<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>resource</span> <span class="token attr-name" style="box-sizing: inherit;">faultSequence</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">methods</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>POST<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">protocol</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri-template</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>/endpoint<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>json_to_xml_in_message<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>http</span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri-template</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:8080/test/endpoint<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token comment" spellcheck="true" style="box-sizing: inherit; color: #999999;"><!-- Consumes JSON data --></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>60000<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>fault<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>http</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>resource</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>api</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Sequence:
</b></i>json_to_xml_out_message.xml</div>
<div style="line-height: 115%; margin-bottom: 0in;">
</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>json_to_xml_out_message<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>messageType<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>application/xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<ul>
<li><div style="line-height: 115%; margin-bottom: 0in;">
This sequence
can be used to transform the json message to xml. For example if
client accepts xml message and incoming message from the endpoint to
ESB is json, then using this sequence ESB will convert the json to
its xml representation and send back to the client. This will
convert json format of the outgoing message to its xml format. If it
need further customize representation, it can be achieve through
script mediator of payloadfactory mediator</div>
</li>
</ul>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in; text-indent: 0.5in;">
<b>Example:</b></div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>api</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">context</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>/test<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>test<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>resource</span> <span class="token attr-name" style="box-sizing: inherit;">faultSequence</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">methods</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>GET<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">protocol</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri-template</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>/endpoint<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>http</span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri-template</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:8080/test/endpoint<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token comment" spellcheck="true" style="box-sizing: inherit; color: #999999;"><!--Returns JSON Outout--></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>60000<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>fault<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>http</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>json_to_xml_out_message<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>resource</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>api</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Sequence:
</b></i>xml_to_json_in_message.xml</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<ul>
<li><div style="line-height: 115%; margin-bottom: 0in;">
This sequence
can be used to transform the xml message to json. For example if
endpoint accepts json message and incoming message to the ESB is
xml, then using this sequence ESB will convert the xml to its json
representation and send to the endpoint. This will convert xml
format of the incoming message to its json format. If it need
further customize representation, it can be achieve through script
mediator of payloadfactory mediator</div>
</li>
</ul>
<div style="line-height: 115%; margin-bottom: 0in;">
</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml_to_json_in_message<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>messageType<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>application/json<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
<b>Example
:</b></div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>api</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">context</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>/test<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>test<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>resource</span> <span class="token attr-name" style="box-sizing: inherit;">faultSequence</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">methods</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>POST<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">protocol</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri-template</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>/endpoint<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>json_to_xml_in_message<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>http</span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri-template</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:8080/test/endpoint<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token comment" spellcheck="true" style="box-sizing: inherit; color: #999999;"><!-- Consumes XML data --></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>60000<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>fault<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>http</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>resource</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>api</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Sequence:
</b></i>xml_to_json_out_message.xml</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<ul>
<li><div style="line-height: 115%; margin-bottom: 0in;">
This sequence
can be used to transform the xml message to json. For example if
client accepts json message and incoming message from the endpoint
to ESB is xml, then using this sequence ESB will convert the xml to
its json representation and send back to the client. This will
convert xml format of the outgoing message to its json format. If it
need further customize representation, it can be achieve through
script mediator of payloadfactory mediator</div>
</li>
</ul>
<div style="line-height: 115%; margin-bottom: 0in;">
</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml_to_json_out_message<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>messageType<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>application/json<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
<b>Example:</b></div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>api</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">context</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>/test<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>test<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>resource</span> <span class="token attr-name" style="box-sizing: inherit;">faultSequence</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">methods</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>GET<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">protocol</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri-template</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>/endpoint<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>http</span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri-template</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:8080/test/endpoint<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token comment" spellcheck="true" style="box-sizing: inherit; color: #999999;"><!--Returns XML Outout--></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>60000<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>fault<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>http</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>xml_to_json_out_message<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>resource</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>api</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Sequence:
</b></i>log_in_message.xml</div>
<ul>
<li><div style="line-height: 115%; margin-bottom: 0in;">
This sequence
can be used to log the incoming message to the ESB</div>
</li>
</ul>
<div style="line-height: 115%; margin-bottom: 0in;">
</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>log_in_message<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>log</span> <span class="token attr-name" style="box-sizing: inherit;">level</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>full<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>IN_MESSAGE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>IN_MESSAGE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>log</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
<b>Example:</b></div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
<br /></div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>proxy</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>test<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">startOnLoad</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">transports</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>https http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>endpoint_urn_uuid_a4889f4d-5945-4ca0-9e24-50efe3f504a5<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>address</span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:9000/services<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>log_in_message<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>proxy</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div class="col-lg-12" style="background-color: white; box-sizing: inherit; clear: both; color: #1c1f2a; float: left; font-family: 'Gotham SSm A', 'Gotham SSm B', Calibri, Candara, 'Helvetica Neue', Arial, Helvetica, sans-serif; font-size: 13px; line-height: 24px; min-height: 1px; padding-left: 15px; padding-right: 15px; position: relative; width: 1150px;">
<div class="col-lg-12" style="box-sizing: inherit; clear: both; float: left; min-height: 1px; padding-left: 15px; padding-right: 15px; position: relative; width: 1150px;">
</div>
<div class="col-lg-12" style="box-sizing: inherit; clear: both; float: left; min-height: 1px; padding-left: 15px; padding-right: 15px; position: relative; width: 1150px;">
</div>
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Sequence:
</b></i>log_out_message.xml</div>
<ul>
<li><div style="line-height: 115%; margin-bottom: 0in;">
This sequence
can be used to log the outgoing message from the ESB</div>
</li>
</ul>
<div style="line-height: 115%; margin-bottom: 0in;">
</div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>log_out_message<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>log</span> <span class="token attr-name" style="box-sizing: inherit;">level</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>full<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>OUT_MESSAGE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>OUT_MESSAGE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>log</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
<b>Example:</b></div>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>proxy</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>test<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">startOnLoad</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">transports</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>https http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>endpoint_urn_uuid_33a885f4-9840-4874-8145-d3e89d1704c0<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>address</span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:9000/<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>log_out_message<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>proxy</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
NOTE : Sequences can
be mixed up to achieve necessary requirements</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br /></div>
<div style="line-height: 115%; margin-bottom: 0in;">
[1] -
<a href="https://docs.wso2.com/display/ESB490/MailTo+Transport"><span style="color: #1155cc;"><u>https://docs.wso2.com/display/ESB490/MailTo+Transport</u></span></a></div>
<br />
<div style="line-height: 115%; margin-bottom: 0in;">
[2] -
https://docs.wso2.com/display/ESB460/Error+Handling+and+Error+Codes</div>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com2tag:blogger.com,1999:blog-8542024558530697143.post-86124993854707875752016-02-19T00:55:00.000-08:002016-02-19T00:55:56.236-08:00Configuring Secure Vault in API ManagerI have discussed configuring secure vault in my <a href="http://harshcreationz.blogspot.com/2016/02/configuring-secure-vault-in-wso2-esb.html">previous</a> blogpost. In API Manager also the steps would be same. The additional file that needed to be encrypted will be the api-manager.xml. In api-manager.xml, there will be three sections that will be used password for achieve their functionality. They will be as follow<br />
<ul>
<li>Auth Manager Section</li>
<li>API Key Validator Section</li>
<li>Environments Section</li>
</ul>
<div>
To encrypt the passwords. Please follow below approach. The alias should be have the following format.</div>
<br />
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<b>cipher-tool.properties</b></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<b><br /></b></div>
<div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<div>
AuthManager.Password=<wbr></wbr>repository/conf/api-manager.<wbr></wbr>xml//APIManager/AuthManager/<wbr></wbr>Password,true</div>
<div>
APIGateway.Environments.<wbr></wbr>Environment.Password=<wbr></wbr>repository/conf/api-manager.<wbr></wbr>xml//APIManager/APIGateway/<wbr></wbr>Environments/Environment/<wbr></wbr>Password,true</div>
<div>
APIKeyValidator.Password=<wbr></wbr>repository/conf/api-manager.<wbr></wbr>xml//APIManager/<wbr></wbr>APIKeyValidator/Password,true</div>
</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<b>cipher-text.properties</b></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif;">
<b><br /></b></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
APIKeyValidator.Password=[<wbr></wbr>admin]</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
APIGateway.Environments.<wbr></wbr>Environment.Password=[admin]</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
AuthManager.Password=[admin]</div>
</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<br /></div>
Then execute<b><i> ./ciphertool.sh -Dconfigure</i></b><br />
<div>
<b><i><span style="color: red; font-size: x-small;"><br /></span></i></b></div>
<div>
<span style="color: red; font-size: x-small;"><i><b>Note : Please replace your passwords with actual values in </b><b style="font-family: arial, sans-serif;">cipher-text.properties</b></i></span></div>
<div>
<span style="color: red; font-size: x-small;"><i><b style="font-family: arial, sans-serif;"> before execute </b><b>./ciphertool.sh -Dconfigure</b></i></span></div>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-4160437149963563132016-02-15T21:42:00.000-08:002016-02-15T21:42:15.901-08:00Configuring Secure Vault in WSO2 ESB 4.9.0 and WSO2 GREG 4.6.0<div align="center" style="line-height: 115%; margin-bottom: 0in;">
<b style="font-size: 12pt; line-height: 115%;">Configuring
Secure Vault in WSO2 ESB 4.9.0</b></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
WSO2 ESB 4.9.0 is
the current latest version of the ESB based on carbon 4.4.0. Guide in
[1] gives instructions to configure secure vault in an environment.</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
Following files
contains the relevant configuration needed for the passwords that
need to be encrypted. These files are located under
ESB_HOME/repository/conf/security directory</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<ul>
<li><div style="line-height: 115%; margin-bottom: 0in;">
<i><b>cipher-tool.properties
</b></i>- This file contains the alias set that needed to will be
used as the references for the passwords in each configuration file
along with xpath expression specifying the configuration file
location along with the location of the password.Sample
cipher-tool.properties file content can be find below. Boolean value
at the end of each alias indicate whether property is within a xml
attribute or xml tag value. If the password in a xml tag the value
will be false else it will be true.
</div>
</li>
</ul>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Carbon.Security.KeyStore.Password=repository/conf/carbon.xml//Server/Security/KeyStore/Password,false</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Carbon.Security.KeyStore.KeyPassword=repository/conf/carbon.xml//Server/Security/KeyStore/KeyPassword,false</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Carbon.Security.TrustStore.Password=repository/conf/carbon.xml//Server/Security/TrustStore/Password,false</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
UserManager.AdminUser.Password=repository/conf/user-mgt.xml//UserManager/Realm/Configuration/AdminUser/Password,false</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Datasources.WSO2_CARBON_DB.Configuration.Password=repository/conf/datasources/master-datasources.xml//datasources-configuration/datasources/datasource[name='WSO2_CARBON_DB']/definition[@type='RDBMS']/configuration/password,false</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Server.Service.Connector.keystorePass=repository/conf/tomcat/catalina-server.xml//Server/Service/Connector[@keystorePass],true</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Axis2.Https.Listener.TrustStore.Password=repository/conf/axis2/axis2.xml//axisconfig/transportReceiver[@name='https']/parameter[@name='truststore']/TrustStore/Password,false</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Axis2.Https.Listener.KeyStore.Password=repository/conf/axis2/axis2.xml//axisconfig/transportReceiver[@name='https']/parameter[@name='keystore']/KeyStore/Password,false</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Axis2.Https.Listener.KeyStore.KeyPassword=repository/conf/axis2/axis2.xml//axisconfig/transportReceiver[@name='https']/parameter[@name='keystore']/KeyStore/KeyPassword,false</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Axis2.Https.Sender.TrustStore.Password=repository/conf/axis2/axis2.xml//axisconfig/transportSender[@name='https']/parameter[@name='truststore']/TrustStore/Password,false</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Axis2.Https.Sender.KeyStore.Password=repository/conf/axis2/axis2.xml//axisconfig/transportSender[@name='https']/parameter[@name='keystore']/KeyStore/Password,false</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Axis2.Https.Sender.KeyStore.KeyPassword=repository/conf/axis2/axis2.xml//axisconfig/transportSender[@name='https']/parameter[@name='keystore']/KeyStore/KeyPassword,false</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Axis2.Mailto.Parameter.Password=repository/conf/axis2/axis2.xml//axisconfig/transportSender[@name='mailto']/parameter[@name='mail.smtp.password'],false</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<ul>
<li><div style="line-height: 115%; margin-bottom: 0in;">
<i><b>cipher-text.properties
</b></i>- This file contains the alias for the password in each
configuration with the current password within square brackets.
After properly configuring the secure vault, these values will be
encrypted. Sample cipher-text.properties file content before the
encryption can be find as below.
</div>
</li>
</ul>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Axis2.Https.Sender.TrustStore.Password=[wso2carbon]</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Axis2.Https.Sender.KeyStore.KeyPassword=[wso2carbon]</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Axis2.Https.Sender.KeyStore.Password=[wso2carbon]</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Axis2.Https.Listener.TrustStore.Password=[wso2carbon]</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Datasources.WSO2_CARBON_DB.Configuration.Password=[wso2carbon]</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
UserManager.AdminUser.Password=[admin]</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Axis2.Mailto.Parameter.Password=[wso2carbon]</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Carbon.Security.KeyStore.Password=[wso2carbon]</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Axis2.Https.Listener.KeyStore.Password=[wso2carbon]</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Carbon.Security.KeyStore.KeyPassword=[wso2carbon]</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Carbon.Security.TrustStore.Password=[wso2carbon]</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Axis2.Https.Listener.KeyStore.KeyPassword=[wso2carbon]</div>
<div style="line-height: 115%; margin-bottom: 0in; margin-left: 0.5in;">
Server.Service.Connector.keystorePass=[wso2carbon]</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
Note : Change the
passwords to actual values</div>
<div style="line-height: 115%; margin-bottom: 0in;">
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Step 1</b></i></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
After successfully
configuring these files following command need to be executed within
ESB_HOME/bin folder.
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<span style="font-family: Consolas, serif;"><span style="font-size: x-small;"><span style="background: #ffffff;">./ciphertool.sh
-Dconfigure</span></span></span></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
After executing
above command, passwords locations that specified in the
cipher-tool.properties will be converted as follow. The secretAlias
is there to identify the password that need to be replaced for that
particular xml tag value.
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<Password
svns:secretAlias="Carbon.Security.KeyStore.Password">password</Password></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
All the passwords
that specified in the cipher-text.properties will be encrypted.</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<i><b>Step 2 </b></i>
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
After configure the
secure vault, at the server startup it’s required to provide the
carbon keystore password as it will be used to decrypt the passwords
of the configurations using the private key.
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
IMPORTANT : Default
server startup with ./wso2server.sh will ask to provide the password
in the terminal. If the server startup as a service using
./wso2server.sh start or nohup, it’s required to create file named
password-tmp file inside the ESB_HOME directory and include the
keystore password. This file will be deleted after reading the
keystore password. Refer [2] for more details.</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<b>Changing Existing
Password </b>
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
If it required to
change the password of some configuration, it can be done by
replacing the new password within square brackets again in the
cipher-text.properties. After configuring the new password, it’s
required to restart the server with following Step 1 and Step 2
mentioned in above.
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
NOTE : In previous
versions, there is a option to change password with the command
./ciphertool.sh -Dchange. But it’s not working in this ESB version
which is a known issue.</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<b>Adding new
password for encryption </b>
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
To add a new entry
in a configuration file to encrypt, it’s required to configure
cipher-text.properties and cipher-tool.properties configuration
reppectively. First a unique alias with the location of configuration
file and the location of the property file should be specified as a
xpath as in previous values. Then current password should be
specified within the brackets against the new alias. After properly
configure these files, it’s required to restart the server by
following Step 1 and Step 2.</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in; text-align: center;">
<span style="font-size: small;"><b>Configuring
Secure Vault in WSO2 GREG 4.6.0</b></span></div>
<div style="line-height: 115%; margin-bottom: 0in; text-align: center;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
Configuring the
secure vault in GREG can be achieved by following the same steps
mentioned in the above section. WSO2 GREG 4.6.0 is based on carbon
4.2.0. Hence some instructions can be slightly varied. More
information about configuring the secure vault in GREG can be found
in [3]. It’s required to properly configure the necessary entries
that indicate which passwords need to be encrypted which is specific
to GREG in cipher-text.properties and cipher-tool.properties files.</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
NOTE: To change
existing password, ./ciphertool.sh -Dchange can be used with GREG
4.6.0. More information can be found in [4]. It’s required to
restart the server once the password has changed. Steps to restart
the server is same with the instructions specified for the ESB.
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<span style="font-size: small;"><b>Securing
passwords in synapse configurations</b></span></div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
It’s required to
configure the secure vault before encrypting the passwords in synapse
configurations. After that, following blogpost in [5] can be followed
to encrypt the password in the synapse configurations.</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
<br />
</div>
<div style="line-height: 115%; margin-bottom: 0in;">
[1]
<a href="https://docs.wso2.com/display/Carbon440/Securing+Passwords+in+Configuration+Files"><span style="color: #1155cc;"><u>https://docs.wso2.com/display/Carbon440/Securing+Passwords+in+Configuration+Files</u></span></a></div>
<div style="line-height: 115%; margin-bottom: 0in;">
[2]
<a href="http://charithaka.blogspot.com.es/2013/06/how-to-use-securevault-when-wso2-carbon.html"><span style="color: #1155cc;"><u>http://charithaka.blogspot.com.es/2013/06/how-to-use-securevault-when-wso2-carbon.html</u></span></a></div>
<div style="line-height: 115%; margin-bottom: 0in;">
[3]
https://docs.wso2.com/display/Carbon420/Securing+Passwords+in+Configuration+Files</div>
<div style="line-height: 115%; margin-bottom: 0in;">
[4]
https://docs.wso2.com/display/Carbon420/Encrypting+Passwords+with+Cipher+Tool</div>
<br />
<div style="line-height: 115%; margin-bottom: 0in;">
[5] -
http://nirodhawrites.blogspot.com.es/2015/10/wso2-esb-using-secure-vault-to-store.html</div>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-30657008290185204282015-12-30T09:47:00.000-08:002015-12-30T09:47:07.892-08:00OpenMRS World Wide Summit as It Happened<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-r3kRLpgIdNU/VoQXKlqh2XI/AAAAAAAAAr8/wVMCRbztpUQ/s1600/summit2015.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="58" src="http://2.bp.blogspot.com/-r3kRLpgIdNU/VoQXKlqh2XI/AAAAAAAAAr8/wVMCRbztpUQ/s320/summit2015.png" width="320" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
It's nearly four years I'm hanging around OpenMRS. So far it has been a wonderful journey. I still remember the days that I have started with OpenMRS in 2012 which ended up been a GSoC student in 2013. The reason that I have wanted to contribute to OpenMRS is beacuse the contributions that we made account for save peoples' lives and make the lives better. It's a pain to maintain hand written patient records within a hospital system. Due to various disasters such as floods, fire and the animal activities cause paper based medical records to be damaged which can't be used again. Also medical records are very important to track patient history and the record data can be used to analyze patterns and causes for the diseases which useful in find treatments and precautions to avoid such a diseases. I can be very happy with my contributions as it leads to help thousands of people who use OpenMRS. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
I was fortunate to attend OpenMRS Implementer meeting in Eldoret, Kenya in 2013. OpenMRS has funded for my whole journey which I should be grateful. I was lucky to see the AMPATH where the OpenMRS has born. Also I had the chance to meet my GSoC mentor Jeremy Keiper during the summit. I was never think that I can meet my GSoC mentor. I have met contributors and implementers who I have interact within community. It was great to meet them personally. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Continuing my journey, I have become a GSoC mentor in 2014 where I have mentored to create Operation Theater Module for OpenMRS. Lukas was my first GSoC student who did a amazing job to successfully deliver the target functionality from the module. When my time permits, I always enjoying fixing JIRA tickets. At that time OpenMRS Guides program has initiated to help new comers to reduce their knowledge barrier and help them to quickly start the contributions to OpenMRS platform. With the time past, I became the leader of the program. We have a set of volunteers to help the new comers. We are currently helping new comers to reduce the learning curve and get started with OpenMRS quickly. We are able to get very good number of contributors to OpenMRS through this program and it's counting. FHIR which is the latest version of HL7 standard is another interested area for me. I was work with Suranga to create OpenMRS FHIR module to expose the OpenMRS domain objects through FHIR standard. It's a completely new solid standard which focus on provide better healthcare interoperability. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
This year, I again become a mentor in GSoC and I have mentored to create OAuth Module for the OpenMRS which can be use to provide the OAuth2 based security model for OpenMRS REST APIs. Mayank who is my GSoC student done a amazing work on that module to complete the required functionality. Glad to see his continuous contributions to OpenMRS platform where is a Release Manager for OpenMRS 2.0 release. </div>
<div style="text-align: justify;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-L_oNzcMvu90/VoQXzM8GZnI/AAAAAAAAAsE/vZupyI7JS7o/s1600/IMG_1722.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="http://2.bp.blogspot.com/-L_oNzcMvu90/VoQXzM8GZnI/AAAAAAAAAsE/vZupyI7JS7o/s320/IMG_1722.JPG" width="240" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">With GSoC Student</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
The OpenMRS world wide summit has been a new type of event for OpenMRS. As I have already part of OpenMRS Implementers meeting and I know how valuable to take part in a OpenMRS event. In terms of getting details on the new projects going with OpenMRS and meet and share the thoughts with OpenMRS developers is always very important within these conferences. This time also I fortunate to meet almost all core developers and have a several chats on the current work carried out in the OpenMRS platform. I was fortunate to meet my GSoC student Mayank within the summit. It was really nice to meet, Paul, Burke, Darius, Downey, Mike, Daniel, Wyclif, Judy, Andrew, James, Kawesi and all other attendees during the summit. I have met Srimaurya in 2013 but never thought of seeing him again. But I had chance to meet him this time as well. I was closely working with Suranga but never had a chance to meet him. Finally I met him in Singapore even though he is near by my home in Sri Lanka. Dr. Niranjan also joined for the summit because of his interest through OpenMRS. We had a several discussions on how we going to adapt OpenMRS within Sri Lanka. I hope it was fruitful.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
It was my first time in Singapore. It's really nice to be in Singapore and it'a amazing how much easy to travel all around the Singapore within short time with their advanced MRT system. I always enjoyed the night events organized during the summit days. Karaoke event was one of the best event. I enjoyed the BBQ night and the scenarios of that place. Obviously Marina Bay is one of the most attractive place in Singapore. Water show is simply amazing. It was really nice that I had a chance to explore the Singapore during the summit. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
During the summit, I mostly interested on Bahmini works, I attend several sessions which highlighted the capabilities of Bahmini. I was fortunate to deliver a lightening talk about FHIR which is a memorable experience for me. Last two days, I was participated in Hackthon. This time we divided into three set of groups and works on JIRA issues of projects. Our team mostly worked on REST module tickets. With out team effort and leadership of Stephan and support of Wyclif, we became the runners up. I got a special gift for the most contributed member and I was really happy. Gift was a power bank which I was looking to take a one. Thanks a lot for the gifts and wonderful trophy. We worked as a team to become runners up of the event and it was great experience for me to work with Wyclif, Mayank Stephan and few others(Sorry I don't remember all the names). </div>
<div style="text-align: justify;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-T20G99r6oYg/VoQYTEHtl0I/AAAAAAAAAsM/XuMJmu7919o/s1600/PC140034.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="240" src="http://1.bp.blogspot.com/-T20G99r6oYg/VoQYTEHtl0I/AAAAAAAAAsM/XuMJmu7919o/s320/PC140034.JPG" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">After the Hackthon</td></tr>
</tbody></table>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Simply OpenMRS Worldwide Summit is one of best conference I have attended so far. Many thanks goes to Micheal and the events team to organize such a remarkable event. I'm really grateful for funding that I got from OpenMRS to attend this summit. It was always nice to be a member of OpenMRS community. Looking forward to meet you all in another wonderful event. </div>
<br />
<br />
<br /><br />
<br />Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-80688669059152625532015-11-30T14:09:00.001-08:002015-11-30T14:12:52.761-08:00Active Directory User Store Configurations for get LDAP users with their roles and role list WSO2 Servers<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0" encoding="UTF-8"?></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>UserStoreManager</span> <span class="token attr-name" style="box-sizing: inherit;">class</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ConnectionName<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">user_wso2ldap</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ConnectionURL<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">ldap://youdomain.com:389</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span><span style="color: #373b41;"> </span><span class="token attr-name" style="box-sizing: inherit;">encrypted</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span style="color: #373b41;"> </span><span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ConnectionPassword<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;"><span style="color: #373b41;">>######</span></span></span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>UserSearchBase<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">CN=Users,DC=rm,DC=gr,DC=testypf,DC=com</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>UserNameListFilter<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">(objectClass=organizationalPerson)</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>UserNameAttribute<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">sAMAccountName</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>UserNameSearchFilter<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">(</span><span class="token entity" style="box-sizing: inherit; color: #cc6666; cursor: help;" title="&">&amp;</span><span style="color: #373b41;">(objectClass=organizationalPerson)(sAMAccountName=?))</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ReadOnly<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">true</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>MaxUserNameListLength<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">100</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>MaxRoleNameListLength<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">100</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>UserRolesCacheEnabled<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">true</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>SCIMEnabled<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">false</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>DisplayNameAttribute<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">sAMAccountName</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Disabled<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">false</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ReadGroups<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">false</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>GroupSearchBase<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">ou=system</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>GroupNameListFilter<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">(objectClass=groupOfNames)</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>GroupNameSearchFilter<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">(</span><span class="token entity" style="box-sizing: inherit; color: #cc6666; cursor: help;" title="&">&amp;</span><span style="color: #373b41;">(objectClass=groupOfNames)(cn=?))</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>GroupNameAttribute<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">cn</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>MembershipAttribute<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">member</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>MemberOfAttribute<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">memberOf</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>MultiAttributeSeparator<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">,</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>PasswordHashMethod<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">PLAIN_TEXT</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ReplaceEscapeCharactersAtUserLogin<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">true</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ConnectionPoolingEnabled<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">false</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>UserDNPattern<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>DomainName<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">TEST</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>Property</span><span class="token punctuation" style="box-sizing: inherit;">></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>Property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Description<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span><span style="color: #373b41;">
</span><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>UserStoreManager</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token punctuation" style="box-sizing: inherit;">NOTE : Depend on the User store structure, CN, DC and etc values may changed.</span></span></code></pre>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-73128356816427824562015-11-15T11:28:00.000-08:002015-11-15T12:06:24.591-08:00Get User Store Domain of login user when user store domain not provided WSO2 APIsSometimes when we accessing APIs, there are situations when authenticated user again WSO2 not provided user store domain. But it's essential to get the which user store the user has authenticated. It can be a user in Primary Store or Secondary User Stores. UserCoreUtil class has following method which will gives you the domain that user has authenticated.<br />
<br />
<br />
<span style="font-family: monospace; font-size: 13px; line-height: 19px;">if (!username.contains(CarbonConstants.DOMAIN_SEPARATOR)) {</span><br />
<span style="font-family: monospace; font-size: 13px; line-height: 19px;"> String userStoreDomain = UserCoreUtil.getDomainFromThreadLocal();</span><br />
<span style="font-family: monospace; font-size: 13px; line-height: 19px;"> if (!StringUtils.isEmpty(userStoreDomain)) {</span><br />
<span style="font-family: monospace; font-size: 13px; line-height: 19px;"> username = UserCoreUtil.getDomainFromThreadLocal() + CarbonConstants.DOMAIN_SEPARATOR + username;</span><br />
<span style="font-family: monospace; font-size: 13px; line-height: 19px;"> }</span><br />
<span style="font-family: monospace; font-size: 13px; line-height: 19px;">}</span>Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-9045106449880058582015-11-11T16:02:00.000-08:002015-11-11T16:02:04.781-08:00Configuring Mutual SSL in WSO ESB Proxy Services and REST APIs <div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Configuring Mutual SSL in WSO ESB Proxy Services and REST APIs </span></div>
<b id="docs-internal-guid-0c8dd65b-f8fc-9618-4877-84f3b8a65957" style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">What Mutual SSL?</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Mutual authentication is the process where client authenticate with server and vice versa. With this approach client clients can be make sure that they are dealing business exclusively with trusted entities and from the server's perspective it can be certain that all would-be users are attempting to gain access for legitimate purposes.Two-way SSL authentication is one way of achieving the mutual SSL. During mutual SSL negotiation process, application acting as an SSL client presents its certificate to the SSL server after the SSL server authenticates itself to the SSL client</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Mutual SSL for proxy service</span></div>
<b style="font-weight: normal;"><br /></b>
<ol style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Edit https transportListener in axis2.xml in {ESB_HOME}/repository/conf/axis2/ folder and Add SSLVerifyClient to optional as follow.</span></div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.7999999999999998; margin-bottom: 14pt; margin-left: 36pt; margin-top: 0pt;">
<span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><transportReceiver</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">name</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"https"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">class</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"org.apache.synapse.transport.passthru.PassThroughHttpSSLListener"</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><parameter</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">name</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"port"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">locked</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"false"</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">8243</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></parameter></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><parameter</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">name</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"non-blocking"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">locked</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"false"</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">true</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></parameter></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><parameter</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">name</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"httpGetProcessor"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">locked</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"false"</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">org.wso2.carbon.transport.nhttp.api.PassThroughNHttpGetProcessor</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></parameter></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><parameter</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">name</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"keystore"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">locked</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"false"</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><KeyStore></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><Location></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">repository/resources/security/wso2carbon.jks</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></Location></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><Type></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">JKS</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></Type></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><Password></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">wso2carbon</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></Password></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><KeyPassword></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">wso2carbon</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></KeyPassword></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></KeyStore></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></parameter></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><parameter</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">name</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"truststore"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">locked</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"false"</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><TrustStore></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><Location></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">repository/resources/security/client-truststore.jks</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></Location></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><Type></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">JKS</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></Type></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><Password></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">wso2carbon</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></Password></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></TrustStore></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></parameter></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><parameter</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">name</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"SSLVerifyClient"</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">optional</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></parameter></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #880000; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><!--supports optional|require or defaults to none --></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></transportReceiver></span></div>
<ol start="2" style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Next step is to enable the mutual SSL per proxy as it’s not required to all the proxies. In order to do that, create a local entry in ESB with following policy</span></div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.62; margin-bottom: 14pt; margin-left: 36pt; margin-top: 0pt;">
<span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><?</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">xml version</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"1.0"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> encoding</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"UTF-8"</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">?></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><wsp:Policy</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">xmlns:wsp</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"http://schemas.xmlsoap.org/ws/2004/09/policy"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">xmlns:wsu</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">wsu:Id</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"MutualSSL"</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><wsp:ExactlyOne></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><wsp:All></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><sp:TransportBinding</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">xmlns:sp</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><wsp:Policy></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><sp:TransportToken></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><wsp:Policy></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><sp:HttpsToken</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">RequireClientCertificate</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"true"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></wsp:Policy></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></sp:TransportToken></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><sp:AlgorithmSuite></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><wsp:Policy></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><sp:Basic256</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></wsp:Policy></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></sp:AlgorithmSuite></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><sp:Layout></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><wsp:Policy></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><sp:Lax</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></wsp:Policy></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></sp:Layout></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></wsp:Policy></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></sp:TransportBinding></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><rampart:RampartConfig</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">xmlns:rampart</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"http://ws.apache.org/rampart/policy"</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><rampart:encryptionUser></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">useReqSigCert</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></rampart:encryptionUser></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><rampart:timestampPrecisionInMilliseconds></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">true</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></rampart:timestampPrecisionInMilliseconds></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><rampart:timestampTTL></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">300</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></rampart:timestampTTL></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><rampart:timestampMaxSkew></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">300</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></rampart:timestampMaxSkew></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><rampart:tokenStoreClass></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">org.wso2.carbon.security.util.SecurityTokenStore</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></rampart:tokenStoreClass></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><rampart:nonceLifeTime></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">300</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></rampart:nonceLifeTime></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></rampart:RampartConfig></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></wsp:All></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></wsp:ExactlyOne></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></wsp:Policy></span></div>
<b style="font-weight: normal;"><br /></b>
<ol start="3" style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Create a sample proxy service and configure the policy as follow.</span></div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.7999999999999998; margin-bottom: 14pt; margin-left: 36pt; margin-top: 0pt;">
<span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><?</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">xml version</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"1.0"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> encoding</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"UTF-8"</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">?></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><proxy</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">xmlns</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"http://ws.apache.org/ns/synapse"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">name</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"Test"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">transports</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"https"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">statistics</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"disable"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">trace</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"disable"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">startOnLoad</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"true"</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><target></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><inSequence></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><log</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">level</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"full"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><respond</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></inSequence></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></target></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><enableSec</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><policy</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">key</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"MutualSSLPolicy"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><description</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></proxy></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">4. After that it required to create a new client keystore and truststore which need to configured in the client that communicate with the ESB. Follow below steps to setup the configurations. (This uses keytool commands to configure the keystore, trustore and certificates</span></div>
<b style="font-weight: normal;"><br /></b>
<ol style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: upper-roman; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Create client keystore name client-keystore.jks</span></div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">keytool -genkey -keyalg RSA -keystore client-keystore.jks -alias wso2clientkeystore -dname "CN=wso2clientkeystore" -validity 3650 -keysize </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;">
<span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">2048</span></div>
<b style="font-weight: normal;"><br /></b>
<ol start="2" style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: upper-roman; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Export the keystore certificate which will need to be imported for the trustores</span></div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.7999999999999998; margin-bottom: 14pt; margin-left: 36pt; margin-top: 0pt;">
<span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">keytool -export -keyalg RSA -keystore client-keystore.jks -alias wso2clientkeystore -file wso2clientkeystore.cert</span></div>
<ol start="3" style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: upper-roman; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Next step is to create the client side truststore where it stores the client certificates (public keys) </span></div>
</li>
</ol>
<div dir="ltr" style="line-height: 1.7999999999999998; margin-bottom: 14pt; margin-left: 36pt; margin-top: 0pt;">
<span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">keytool -import -file wso2clientkeystore.cert -alias wso2client -keystore wso2clienttrustore.jks</span></div>
<ol start="4" style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: upper-roman; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Now it’s required to import the ESB Server public certificate to client side truststore. First export the public key of the keystore of ESB in {ESB_HOME}//repository/resources/security/wso2carbon.jks as follow</span></div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;">
<span style="background-color: #fefbf3; color: #404040; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">keytool -export -keyalg RSA -keystore /repository/resources/security/wso2carbon.jks -alias wso2carbon -file wso2carbon.cert</span></div>
<b style="font-weight: normal;"><br /></b><br />
<ol start="5" style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: upper-roman; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Above certificate need to be imported to client side truststore which is wso2clienttrustore.jks</span></div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.7999999999999998; margin-bottom: 14pt; margin-left: 36pt; margin-top: 0pt;">
<span style="background-color: #fefbf3; color: #404040; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">keytool -import -file wso2carbon.cert -alias wso2carbon -keystore wso2clienttrustore.jks</span></div>
<ol start="6" style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: upper-roman; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Import the client side certificate to ESB client truststore located in the {ESB_HOME}//repository/resources/security/client-truststore.jks</span></div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.7999999999999998; margin-bottom: 14pt; margin-left: 36pt; margin-top: 0pt;">
<span style="background-color: #fefbf3; color: #404040; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">keytool -import -file </span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">wso2clientkeystore</span><span style="background-color: #fefbf3; color: #404040; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.cert -alias </span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">wso2clientkeystore</span><span style="background-color: #fefbf3; color: #404040; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> -keystore /repository/resources/security/client-truststore.jks</span></div>
<ol start="5" style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">With the above certificate configuration, it should be possible to access the proxy service with mutual SSL</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">To test this, we can use SOAP UI</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">First configure the keystore and truststore for the project pointing to client-keystore.jks and wso2clienttrustore.jks. Refer the below screenshot</span></div>
</li>
</ol>
<div>
<br /></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img alt="ssl_keystore.png" height="359px;" src="https://lh5.googleusercontent.com/uqzzqwroQfbjg25eKa-rXivO1tVF3C41zGbY3oBsfJLraiJR7ktTYZtvY45PyDNqIekeAU4B0esbxm5G2ShSx-LuaW_msUqEhmVshs1OQyjT8_rD9YTr_U7dhGksemq01x_vE3L8" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624px;" /></span></div>
<b style="font-weight: normal;"><br /></b>
<ol start="8" style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Then select the keystore as client-keystore.jks in properties. Refer below screenshot</span></div>
</li>
</ol>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img alt="invoke.png" height="373px;" src="https://lh3.googleusercontent.com/AoXiGMe8RskDJudwG9lxiYlEkNDSjppmyOkHifKmkvHR6pR3nUnxAoeb4bhpNwz_q7s2fWyIyzK7ZSbZGEJ19RFyIciiO77o66StPLeSx9TQrHBYvgwpwFU090JvAdWlKdMGtD_P" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624px;" /></span></div>
<b style="font-weight: normal;"><br /><br /></b><br />
<ol start="9" style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Then service should be able to execute successfully. But before it, following SOAP Fault should seen in the SOAP UI</span></div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><img alt="beforeconfig.png" height="416px;" src="https://lh6.googleusercontent.com/K9ZjDhEcNBzu5Jp8dksX3DaSoJwG3jDljIa9UnyCi5lRmIk0ZO-BatGhX4p9glJKktWri5Ll69GpCVzHAwuasSccTFwkcDSQT52pw6slYJoktTT4eKq2RzrcSr0-TpG1v9MSc2H6" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624px;" /></span></div>
<b style="font-weight: normal;"><br /></b>
<ol start="10" style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Sample Mutul SSL SOAP client and REST Client can be found in [1] which written by Asela.</span></div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Mutual SSL for REST service</span></div>
<b style="font-weight: normal;"><br /></b>
<ol style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Since certificates are already configured, following steps can be continue without configuring the certificates again. </span></div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b>
<ol start="2" style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">To configure Mutual SSL in a REST API in WSO2 ESB, it’s required to have a handler configured. </span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">In location [2], it can be found source for the handler which is a modified version of it’s original author Asela. </span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">It’s required to build the project. But location [3] contains already built jar(</span><a href="https://svn.wso2.org/repos/wso2/people/harsha/mutual-ssl-hander/target/org.soasecurity.apim.authentication.handler-1.0.0.jar" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">org.soasecurity.apim.authentication.handler-1.0.0.jar</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">) which need to be deploy in {ESB_HOME}/repository/components/lib folder of ESB. </span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Then create a API with following API definition</span></div>
</li>
</ol>
<b style="font-weight: normal;"><br /></b><br />
<div dir="ltr" style="line-height: 1.7999999999999998; margin-bottom: 14pt; margin-top: 0pt;">
<span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><?</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">xml version</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"1.0"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> encoding</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"UTF-8"</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">?></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><api</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">context</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"/test"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">name</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"Test"</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><resource</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">methods</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"GET"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">protocol</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"https"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">uri-template</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"/value/{tag}"</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><inSequence></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><payloadFactory</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">media-type</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"json"</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><format></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">{"Status":"OK"}</span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></format></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><args</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></payloadFactory></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><log></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><property</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">name</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"JSON-Payload"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">value</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"test"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></log></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><property</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">action</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"remove"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">name</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"NO_ENTITY_BODY"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">scope</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"axis2"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><property</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">name</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"messageType"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">scope</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"axis2"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">type</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"STRING"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">value</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"application/json"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><respond</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></inSequence></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></resource></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><handlers></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><handler</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #660066; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">class</span><span style="background-color: #fefbf3; color: #666600; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">=</span><span style="background-color: #fefbf3; color: #008800; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"org.soasecurity.apim.authentication.handler.MutualSSLAuthenticationHandler"</span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">/></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></handlers></span><span style="background-color: #fefbf3; color: black; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: #fefbf3; color: #000088; font-family: 'Courier New'; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"></api></span></div>
<ol start="6" style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Above we have configured API with Mutual Authentication Handler which enforce the Mutual SSL authentication</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">To test the API, it can be used the client in [1] or the modified client which adjust to prepare this sample in [4]</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">With the client, API should be able to invoke successfully</span></div>
</li>
</ol>
<b style="font-weight: normal;"><br />Information sources taken mainly from [5] and [6] which are written by Asela and Hasitha.:)</b><br />
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">[1] - </span><a href="https://svn.wso2.org/repos/wso2/people/asela/ssl/MutualAuthenticationClient/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">https://svn.wso2.org/repos/wso2/people/asela/ssl/MutualAuthenticationClient/</span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">[2] - </span><a href="https://svn.wso2.org/repos/wso2/people/harsha/mutual-ssl-hander/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">https://svn.wso2.org/repos/wso2/people/harsha/mutual-ssl-hander/</span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">[3] - https://svn.wso2.org/repos/wso2/people/harsha/mutual-ssl-hander/target/</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">[4] - </span><a href="https://svn.wso2.org/repos/wso2/people/harsha/MutualAuthenticationClient/" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;">https://svn.wso2.org/repos/wso2/people/harsha/MutualAuthenticationClient/</span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">[5] - http://tryitnw.blogspot.com.es/2015/06/setting-up-mutual-ssl-in-wso2-esb-and.html</span></div>
<br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">[6] - http://xacmlinfo.org/2015/06/02/securing-apis-using-mutual-ssl-with-wso2-api-manager/</span></div>
<div>
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com1tag:blogger.com,1999:blog-8542024558530697143.post-40969791911068669642015-10-28T07:48:00.001-07:002015-10-28T07:55:38.125-07:00Send SOAP Fault and Message in a Mail When SOAP Fault occurs WSO2 ESB<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;">During this tutorial, I'm going to discuss on how to send a mail with body and attachment with WSO2 ESB 4.9.0. In this tutorial, when there is a soap fault, it will send the soap fault as attachment and the payload that cause soap fault in the body. Configure the mail transport by following [1].</span></code></pre>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>proxy</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>StockQuoteProxy<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">startOnLoad</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">transports</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>https http<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>description</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>address</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://localhost:9000/services/SimpleStockQuoteService<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>30000<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>duration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>fault<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>responseAction</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>timeout</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>suspendOnFailure</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>errorCodes</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>-1<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>errorCodes</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>initialDuration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>0<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>initialDuration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>progressionFactor</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>1.0<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>progressionFactor</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>maximumDuration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>0<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>maximumDuration</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>suspendOnFailure</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>markForSuspension</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>errorCodes</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>-1<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>errorCodes</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>markForSuspension</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>address</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>FORCE_ERROR_ON_SOAP_FAULT<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$body/*<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>messageBody<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>inSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>log</span> <span class="token attr-name" style="box-sizing: inherit;">level</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>custom<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:messageBody<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>bodyOfMessage<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>log</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>outSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">key</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_email_seq<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>faultSequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>publishWSDL</span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>file:repository/samples/resources/proxy/sample_proxy_1.wsdl<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>proxy</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<div>
<br /></div>
Sample Mail Sequence which sends the mail<br />
<br />
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: Calibri, sans-serif; font-size: 11pt; margin: 0cm 0cm 0.0001pt;">
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;"><code class=" language-markup" style="-webkit-font-smoothing: antialiased; background-color: transparent; border-radius: 0px; box-sizing: inherit; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; height: auto; padding: 0px; tab-size: 4; word-break: normal; word-spacing: normal;"><span class="token prolog" style="box-sizing: inherit; color: #999999;"><?xml version="1.0"?></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span> <span class="token attr-name" style="box-sizing: inherit;">xmlns</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>http://ws.apache.org/ns/synapse<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fault_email_seq<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>clone</span> <span class="token attr-name" style="box-sizing: inherit;">continueParent</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>fn:concat('An Error Occurred Service',' : ',$ctx:proxy.name)<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Subject<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>transport<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>OUT_ONLY<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>transport.mail.Format<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>Attachment<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>AttachmentFile<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ErrorMessage.xml<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">expression</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>$ctx:messageBody<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>transport.mail.bodyWhenAttached<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>header</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>To<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">action</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>remove<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>NO_ENTITY_BODY<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>RESPONSE<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>default<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>true<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>ContentType<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>text/html<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>property</span> <span class="token attr-name" style="box-sizing: inherit;">name</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>messageType<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">scope</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>axis2<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">type</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>STRING<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">value</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>text/html<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"><</span>address</span> <span class="token attr-name" style="box-sizing: inherit;">trace</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>disable<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span> <span class="token attr-name" style="box-sizing: inherit;">uri</span><span class="token attr-value" style="box-sizing: inherit; color: #b5bd68;"><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">=</span><span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span>mailto:test@gmail.com<span class="token punctuation" style="box-sizing: inherit; color: #cc6666;">"</span></span><span class="token punctuation" style="box-sizing: inherit;">/></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>endpoint</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>send</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>target</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>clone</span><span class="token punctuation" style="box-sizing: inherit;">></span></span>
<span class="token tag" style="box-sizing: inherit; color: #cc6666;"><span class="token tag" style="box-sizing: inherit;"><span class="token punctuation" style="box-sizing: inherit;"></</span>sequence</span><span class="token punctuation" style="box-sizing: inherit;">></span></span></code></pre>
<pre class=" language-markup" style="-webkit-font-smoothing: antialiased; background: rgb(250, 250, 250); border-radius: 4px 0px 4px 4px; border: 1px solid rgb(221, 221, 221); box-sizing: inherit; color: #373b41; direction: ltr; font-family: Menlo, Monaco, Consolas, monospace; font-size: 13px; height: auto; line-height: 19.5px; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; tab-size: 4; word-break: normal; word-wrap: break-word;">[1] - https://docs.wso2.com/display/ESB490/MailTo+Transport</pre>
</div>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-78298180606654747132015-10-23T02:55:00.001-07:002015-10-28T07:53:39.706-07:00Base64 Encode Payload Body WSO2 ESBIn this tutorial, I have posted sample ESB API which encode the payload to Base64 and return it back. This has achieved through the xpath base64Encode function.
<br />
<br />
<pre class="brush:xml;"><api context="/test" name="test">
<resource faultsequence="fault" methods="POST" url-mapping="/status">
<insequence>
<property expression="$body/*" name="messageBody" scope="default">
<property expression="base64Encode(get-property('messageBody'))" name="EncodeBody" scope="default">
<log level="custom">
<property expression="get-property('messageBody')" name="Request Payload">
</property></log>
<enrich>
<source clone="true" type="inline"></source>
<soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:body>
<encoded xmlns="">
</encoded></soapenv:body>
</soapenv:envelope>
<target type="envelope">
</target></enrich>
<enrich>
<source clone="true" xmlns:ns="http://org.apache.synapse/xsd" xpath="get-property('EncodeBody')"></source>
<target type="body">
</target></enrich>
<property name="messageType" scope="axis2" type="STRING" value="application/xml">
<respond>
</respond></property></property></property></property></insequence>
</resource>
</api></pre>
<pre class="brush:xml;"></pre>
<br />
Using a rest client post following xml content<br />
<div>
<br /></div>
<div>
<testencode><encode>abc</encode></testencode><br />
<br />
Result will be returning in following format</div>
<div>
<encoded>{ENCODED_STRIN}</encoded></div>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com1tag:blogger.com,1999:blog-8542024558530697143.post-55268639306385229012015-08-23T12:25:00.001-07:002015-08-23T12:25:06.615-07:00Moving Governance Artifacts from One WSO2 GERG Instance to anotherRecently I have written a migration client that will take given governance artifact type and move the contents of artifacts belongs to given artifact type to a another GREG instance. This client will not transfer history of each artifact.
Migration client can be found in https://github.com/harsha89/migration_governance_artifactAnonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-30581049945165684392015-08-09T12:27:00.004-07:002015-08-09T12:31:13.091-07:00WSO2 ESB Proxy authorization for SOAP endoint services based on XACML Policy in WSO2 ISDuring this blogpost. I'm going to explain how to do XACML policy based authorization with wso2 ESB. I'm using WSO2 IS 5.0.0 and WSO2 ESB 4.8.1 for configuring the XACML sample.<br />
<br />
This article shows how to perform authorization based on XACML policy define in WSO2 IS to control the access to Echo web service hosted in WSO2 AS or Axis2 Container.<br />
<br />
This sample show how we can perform role base authorization for the calling web service operation in Echo Service. Echo Service is associate with three operations as follow.<br />
<br />
echoInt = Will echo incoming integer back to client<br />
echoString = Will echo incoming string back to client<br />
echoOMElement = will echo incoming OMElement back to client<br />
<h4>
Note </h4>
<div>
Instead of hosting echo service in AS, please note that I'm using the echo service coming with the ESB for this sample. </div>
<h4>
Common Cofigurations</h4>
<div>
<br /></div>
<div>
<ul>
<li>Proxy Service need to secured with UT to authenticating a proxy service based on providing a username/password tokens in SOAP header which will forward to IS to check assigned roles of the user and perform actions based on it. </li>
<li>use them against the underlying user store</li>
<li>User store should be shared with both IS and ESB</li>
<li>Create two roles named roleA and roleB</li>
<li>Create two users named user1 and user2 for test the scenario</li>
<li>Assign roleA to user1 and roleB to user2</li>
</ul>
<div>
<br /></div>
<div>
<b>Authorization Table</b><br />
<b><br /></b></div>
</div>
<h4>
<span id="docs-internal-guid-832d4108-16f8-63c7-b9e3-9dfa13658e56" style="font-weight: normal;"><div dir="ltr" style="margin-left: 0pt;">
<table style="border-collapse: collapse; border: none; width: 624px;"><colgroup><col width="*"></col><col width="*"></col></colgroup><tbody>
<tr style="height: 0px;"><td style="border-bottom: solid #000000 1px; border-left: solid #000000 1px; border-right: solid #000000 1px; border-top: solid #000000 1px; padding: 7px 7px 7px 7px; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-family: Arial; font-size: 14.6666666666667px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Service Operation</span></div>
</td><td style="border-bottom: solid #000000 1px; border-left: solid #000000 1px; border-right: solid #000000 1px; border-top: solid #000000 1px; padding: 7px 7px 7px 7px; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="font-family: Arial; font-size: 14.6666666666667px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">Required role</span></div>
</td></tr>
<tr style="height: 0px;"><td style="border-bottom: solid #000000 1px; border-left: solid #000000 1px; border-right: solid #000000 1px; border-top: solid #000000 1px; padding: 7px 7px 7px 7px; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<span style="font-family: Arial; font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap;">echoInt</span></div>
</td><td style="border-bottom: solid #000000 1px; border-left: solid #000000 1px; border-right: solid #000000 1px; border-top: solid #000000 1px; padding: 7px 7px 7px 7px; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<span style="font-family: Arial; font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap;">roleA</span></div>
</td></tr>
<tr style="height: 0px;"><td style="border-bottom: solid #000000 1px; border-left: solid #000000 1px; border-right: solid #000000 1px; border-top: solid #000000 1px; padding: 7px 7px 7px 7px; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<span style="font-family: Arial; font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap;">echoString</span></div>
</td><td style="border-bottom: solid #000000 1px; border-left: solid #000000 1px; border-right: solid #000000 1px; border-top: solid #000000 1px; padding: 7px 7px 7px 7px; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<span style="font-family: Arial; font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap;">roleA, roleB</span></div>
</td></tr>
<tr style="height: 0px;"><td style="border-bottom: solid #000000 1px; border-left: solid #000000 1px; border-right: solid #000000 1px; border-top: solid #000000 1px; padding: 7px 7px 7px 7px; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<span style="font-family: Arial; font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap;">echoOMElement</span></div>
</td><td style="border-bottom: solid #000000 1px; border-left: solid #000000 1px; border-right: solid #000000 1px; border-top: solid #000000 1px; padding: 7px 7px 7px 7px; vertical-align: top;"><div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: left;">
<span style="font-family: Arial; font-size: 14.6666666666667px; vertical-align: baseline; white-space: pre-wrap;">roleB</span></div>
</td></tr>
</tbody></table>
</div>
</span></h4>
<h4>
Overall Design Diagram of Sample</h4>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-aoUaeVuK6PA/VYbikw2ELrI/AAAAAAAAAlQ/7JV8mIn8lZg/s1600/xacml%2B%25281%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="215" src="http://1.bp.blogspot.com/-aoUaeVuK6PA/VYbikw2ELrI/AAAAAAAAAlQ/7JV8mIn8lZg/s400/xacml%2B%25281%2529.jpg" width="400" /></a></div>
<div>
<br /></div>
<h3>
Sample Policy</h3>
<div>
<br /></div>
<pre class="brush:xml;"><div>
<Policy xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17" PolicyId="echoRBACPolicy" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:first-applicable" Version="1.0"><br />
<Target><br />
<AnyOf><br />
<AllOf><br />
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-regexp-match"><br />
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">/services/EchoProxy</AttributeValue><br />
<AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator><br />
</Match><br />
</AllOf><br />
</AnyOf><br />
</Target><br />
<Rule Effect="Permit" RuleId="Rule-1"><br />
<Target><br />
<AnyOf><br />
<AllOf><br />
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-regexp-match"><br />
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">echoString</AttributeValue><br />
<AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator><br />
</Match><br />
</AllOf><br />
</AnyOf><br />
<AnyOf><br />
<AllOf><br />
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal"><br />
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">read</AttributeValue><br />
<AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator><br />
</Match><br />
</AllOf><br />
</AnyOf><br />
</Target><br />
<Condition><br />
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-at-least-one-member-of"><br />
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-bag"><br />
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">roleA</AttributeValue><br />
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">roleB</AttributeValue><br />
</Apply><br />
<AttributeDesignator AttributeId="http://wso2.org/claims/role" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator><br />
</Apply><br />
</Condition><br />
</Rule><br />
<Rule Effect="Permit" RuleId="Rule-2"><br />
<Target><br />
<AnyOf><br />
<AllOf><br />
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-regexp-match"><br />
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">echoInt</AttributeValue><br />
<AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator><br />
</Match><br />
</AllOf><br />
</AnyOf><br />
<AnyOf><br />
<AllOf><br />
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal"><br />
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">read</AttributeValue><br />
<AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator><br />
</Match><br />
</AllOf><br />
</AnyOf><br />
</Target><br />
<Condition><br />
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:any-of"><br />
<Function FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-equal"></Function><br />
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">roleA</AttributeValue><br />
<AttributeDesignator AttributeId="http://wso2.org/claims/role" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator><br />
</Apply><br />
</Condition><br />
</Rule><br />
<Rule Effect="Permit" RuleId="Rule-3"><br />
<Target><br />
<AnyOf><br />
<AllOf><br />
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-regexp-match"><br />
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">echoOMElement</AttributeValue><br />
<AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:resource:resource-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator><br />
</Match><br />
</AllOf><br />
</AnyOf><br />
<AnyOf><br />
<AllOf><br />
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal"><br />
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">read</AttributeValue><br />
<AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:action:action-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:action" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator><br />
</Match><br />
</AllOf><br />
</AnyOf><br />
</Target><br />
<Condition><br />
<Apply FunctionId="urn:oasis:names:tc:xacml:1.0:function:any-of"><br />
<Function FunctionId="urn:oasis:names:tc:xacml:1.0:function:string-equal"></Function><br />
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">roleB</AttributeValue><br />
<AttributeDesignator AttributeId="http://wso2.org/claims/role" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"></AttributeDesignator><br />
</Apply><br />
</Condition><br />
</Rule><br />
<Rule Effect="Deny" RuleId="Deny-Rule"></Rule><br />
</Policy> </div>
</pre>
<h3>
WSO2 IS Configurations</h3>
<h4>
</h4>
<b>Steps for adding policy</b><br />
<b><br /></b>
<br />
<ul>
<li>Go to Entitlement> PEP > Policy Administration tab and click add new entitlement policy link as shown in figure 1. </li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-63sZxX_ygyc/VYbtN5agMfI/AAAAAAAAAlc/_pob2JQMeXY/s1600/step1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="96" src="http://1.bp.blogspot.com/-63sZxX_ygyc/VYbtN5agMfI/AAAAAAAAAlc/_pob2JQMeXY/s400/step1.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 1 : Policy Administration Page</td></tr>
</tbody></table>
<br />
<h4>
<ul>
<li><span style="font-weight: normal;">After you clicking it, you can see multiple options to create XACML policy which associate with descripting text which exactly highlight what each option is done. For the testing purposes I'm going to upload the attached policy from Import Existing Policy option</span></li>
<li><span style="font-weight: normal;">You can also create your own policy with given options from Figure 2 view which come from </span><span style="font-weight: normal;">Basic Policy Editor. </span></li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-3K5RZL6kgcU/VYbvNd90faI/AAAAAAAAAlo/WMYsopUNYE8/s1600/step2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="95" src="http://4.bp.blogspot.com/-3K5RZL6kgcU/VYbvNd90faI/AAAAAAAAAlo/WMYsopUNYE8/s400/step2.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 2 : Create new policy</td></tr>
</tbody></table>
</h4>
<ul>
<li>Here after click publish to PDP which list under the actions can be perform under added policy as in Figure 3. It will popup Fifure 4 UI which you can publish your policy to PDP. You can go to Entitlement> PDP > Policy View to check whether your policy has publish as in Figure 5</li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-ZNOWdj6c7S4/VYcIVj05EiI/AAAAAAAAAl4/t_3uT9mBkB4/s1600/step4.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="4" src="http://4.bp.blogspot.com/-ZNOWdj6c7S4/VYcIVj05EiI/AAAAAAAAAl4/t_3uT9mBkB4/s400/step4.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 3 : Available Actions</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-XKC-ZfLynuY/VYcIVrmUUHI/AAAAAAAAAmI/G_D6xUNPeKU/s1600/step5.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="96" src="http://2.bp.blogspot.com/-XKC-ZfLynuY/VYcIVrmUUHI/AAAAAAAAAmI/G_D6xUNPeKU/s400/step5.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 4 : Policy Publish View</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/--vAIimFxSro/VYcIVh7BquI/AAAAAAAAAmM/UEQYWEWn928/s1600/step6.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="56" src="http://2.bp.blogspot.com/--vAIimFxSro/VYcIVh7BquI/AAAAAAAAAmM/UEQYWEWn928/s400/step6.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 5 : Policy View</td></tr>
</tbody></table>
<div>
<br /></div>
<h4>
</h4>
<h4>
WSO2 ESB Configurations</h4>
<div>
<b>Setup</b> </div>
<div>
<ul>
<li>Create proxy service call EchoProxy </li>
<li>Create in sequence name EchoServiceSeq</li>
<li>Create out sequence name EchoServiceSeqOut</li>
</ul>
<div>
<b>Steps to configure</b><br />
<br />
<div style="text-align: justify;">
1. Add a in sequence and configure the entitlement mediator configurations as follow within this sequence requests going to endpoint will be intercept from the proxy service, check the user authorized or not by sending the web service security header to Identity server and based on use permitted or not the service will be send to actual service or fail.</div>
</div>
</div>
<div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-v4K3z6XHjug/Vcejy-9Y1DI/AAAAAAAAAns/aS5IlPNQ9dE/s1600/entitlement.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="305" src="http://3.bp.blogspot.com/-v4K3z6XHjug/Vcejy-9Y1DI/AAAAAAAAAns/aS5IlPNQ9dE/s320/entitlement.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 6 : Adding Entitlement Mediator to in sequence</td></tr>
</tbody></table>
<br />
Figure 6 shows the configurations of entitlement mediator<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-4URe_vpBGzc/VcekOiSHf6I/AAAAAAAAAn0/9RPG5C6hXgo/s1600/entileconfi.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="163" src="http://4.bp.blogspot.com/-4URe_vpBGzc/VcekOiSHf6I/AAAAAAAAAn0/9RPG5C6hXgo/s400/entileconfi.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 7 : Entitlement Mediator Configurations</td></tr>
</tbody></table>
<br />
<br />
<ul>
<li>Entitlement server : Endpoint of Identity servers authentication servlet (https:localhost:9443/services/)</li>
<li>Username : Valid user name that has admin rights (eg: admin) </li>
<li>Password : password of the above user.</li>
</ul>
2. After filling above values, click on “Update” button.<br />
<br />
3. Then add a send mediator to “OnAccept” path of Entitlement Mediator.In this configuration it has been instructed to Entitlement mediator if the user validated by the identity server with the XACML policy and permits to send the request to required endpoint.<br />
<br />
<pre class="brush:xml;"><div>
<sequence name="EchoServiceSeq"><br />
<log level="full"><br />
<entitlementservice callbackclass="org.wso2.carbon.identity.entitlement.mediator.callback.UTEntitlementCallbackHandler" client="basicAuth" remoteservicepassword="enc:kuv2MubUUveMyv6GeHrXr9il59ajJIqUI4eoYHcgGKf/BBFOWn96NTjJQI+wYbWjKW6r79S7L7ZzgYeWx7DlGbff5X3pBN2Gh9yV0BHP1E93QtFqR7uTWi141Tr7V7ZwScwNqJbiNoV+vyLbsqKJE7T3nP8Ih9Y6omygbcLcHzg=" remoteserviceurl="https://localhost:9443/services/" remoteserviceusername="admin"><br />
<onreject><br />
<log level="custom"><br />
<property name="symbol" value="+++++++++++++++++++++++++++++++++++++"><br />
</property></log><br />
<makefault version="soap11"><br />
<code value="soap11Env:VersionMismatch" xmlns:soap11env="http://schemas.xmlsoap.org/soap/envelope/"><br />
<reason value="Error occurred while accessing the service"><br />
<role><br />
</role></reason></code></makefault><br />
<send><br />
</send></onreject><br />
<onaccept><br />
<send><br />
<endpoint><br />
</endpoint></send></onaccept></entitlementservice></log></sequence><br /><br />
<address uri="https://localhost:8244/services/echo"><br />
</address><br />
<obligations><br />
<advice><br />
</advice></obligations><br />
<br /><br />
<br /><br />
<header action="remove" name="wsse:Security" scope="default" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><br />
<drop><br />
</drop></header></div>
</pre>
<pre class="brush:xml;"></pre>
Sample in sequence has shown in above. </div>
<div>
<br /></div>
<div>
<div>
4. Add fault sequence to “OnReject” path of the entitlement mediator.</div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
5. Go to the visual view of the sequence and click on “Entitlement Mediator” and “Add sibling”, select Transform - > Header.In this mediator we address ESB to remove the Security header from soap header and send to Entitlement server for authorization.</div>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-3Sit_4wKq7w/Vcen165fFSI/AAAAAAAAAoA/bwiHJKrX3NY/s1600/header.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="142" src="http://1.bp.blogspot.com/-3Sit_4wKq7w/Vcen165fFSI/AAAAAAAAAoA/bwiHJKrX3NY/s400/header.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 8 : Adding header mediator</td></tr>
</tbody></table>
<div>
<br /></div>
<div>
In header mediator, configure it as follow.</div>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-KryVHU5ErXY/VceoYSmepSI/AAAAAAAAAoI/Xy7B2PV01AY/s1600/headercn%253Dnfg.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="106" src="http://2.bp.blogspot.com/-KryVHU5ErXY/VceoYSmepSI/AAAAAAAAAoI/Xy7B2PV01AY/s400/headercn%253Dnfg.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 9 : Header Mediator Configurations</td></tr>
</tbody></table>
<div>
<br /></div>
<div>
<div>
<ul>
<li>Name: Security</li>
<li>Action: Remove</li>
<li>Click on “Namespace” link add “wsse” as prefix andhttp://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd as the URI.</li>
</ul>
</div>
<div>
Click on update.</div>
</div>
<div>
<br /></div>
<div>
6. Add out sequence</div>
<div>
<br /></div>
<div>
7. Create a proxy service and configure above in sequence and out sequence. </div>
<div>
<br /></div>
<div>
8. Secure the proxy service UT and select the user roles which needed to invoke this proxy service by users. </div>
<div>
<br /></div>
<div>
9. Below shows entire ESB configuration used in this tutorial.</div>
<div>
<pre class="brush:xml;"><div>
<?xml version="1.0" encoding="UTF-8"?><br />
<definitions xmlns="http://ws.apache.org/ns/synapse"><br />
<registry provider="org.wso2.carbon.mediation.registry.WSO2Registry"><br />
<parameter name="cachableDuration">15000</parameter><br />
</registry><br />
<proxy name="EchoPrroxyTest"<br />
transports="https"<br />
startOnLoad="true"<br />
trace="disable"><br />
<description/><br />
<target inSequence="EchoServiceSeq" outSequence="EchoServiceSeqOut"/><br />
<publishWSDL uri="http://localhost:9000/services/echo?wsdl"/><br />
<policy key="conf:/repository/axis2/service-groups/EchoPrroxyTest/services/EchoPrroxyTest/policies/UTOverTransport"/><br />
<parameter name="ScenarioID">scenario1</parameter><br />
<enableSec/><br />
</proxy><br />
<sequence name="EchoServiceSeq"><br />
<log level="full"/><br />
<entitlementService remoteServiceUrl="https://localhost:9443/services/"<br />
remoteServiceUserName="admin"<br />
remoteServicePassword="enc:kuv2MubUUveMyv6GeHrXr9il59ajJIqUI4eoYHcgGKf/BBFOWn96NTjJQI+wYbWjKW6r79S7L7ZzgYeWx7DlGbff5X3pBN2Gh9yV0BHP1E93QtFqR7uTWi141Tr7V7ZwScwNqJbiNoV+vyLbsqKJE7T3nP8Ih9Y6omygbcLcHzg="<br />
callbackClass="org.wso2.carbon.identity.entitlement.mediator.callback.UTEntitlementCallbackHandler"<br />
client="basicAuth"><br />
<onReject><br />
<log level="custom"><br />
<property name="symbol" value="+++++++++++++++++++++++++++++++++++++"/><br />
</log><br />
<makefault version="soap11"><br />
<code xmlns:soap11Env="http://schemas.xmlsoap.org/soap/envelope/"<br />
value="soap11Env:VersionMismatch"/><br />
<reason value="Error occurred while accessing the service"/><br />
<role/><br />
</makefault><br />
<send/><br />
</onReject><br />
<onAccept><br />
<send><br />
<endpoint><br />
<address uri="https://localhost:8244/services/echo"/><br />
</endpoint><br />
</send><br />
</onAccept><br />
<obligations/><br />
<advice/><br />
</entitlementService><br />
<header xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"<br />
name="wsse:Security"<br />
scope="default"<br />
action="remove"/><br />
<drop/><br />
</sequence><br />
<sequence name="EchoServiceSeqOut"><br />
<send/><br />
</sequence><br />
<sequence name="fault"><br />
<log level="full"><br />
<property name="MESSAGE" value="Executing default 'fault' sequence"/><br />
<property name="ERROR_CODE" expression="get-property('ERROR_CODE')"/><br />
<property name="ERROR_MESSAGE" expression="get-property('ERROR_MESSAGE')"/><br />
</log><br />
<drop/><br />
</sequence><br />
<sequence name="main"><br />
<in><br />
<log level="full"/><br />
<filter source="get-property('To')" regex="http://localhost:9000.*"><br />
<send/><br />
</filter><br />
</in><br />
<out><br />
<send/><br />
</out><br />
<description>The main sequence for the message mediation</description><br />
</sequence><br />
</definitions></div>
<div>
</div>
</pre>
10. Invoke the proxy service with security through SOAP UI and check the functionality.</div>
<div>
</div>
<div>
</div>Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-3289590425943734262015-04-19T01:34:00.000-07:002015-04-19T12:15:09.515-07:00Useful Git Commands<i>git diff and git diff --staged(--cached)</i><br />
<br />
Git diff will shows the diff of the unstaged files while with --staged flag it will shows the diff of which changes are there to be committed.<br />
<br />
<i> git commit -a -m 'added new benchmarks'</i><br />
<i><br /></i>
Add all untrack files and commit(Staging will not happen during this commit)<br />
<br />
<i> git rm --cached FILENAME</i><br />
<br />
This command will remove the given file from the repository but will keep the file in local repository<br />
<br />
<i> git mv file_from file_to</i><br />
<i><br /></i>
Renaming a file.<br />
<br />
<i> git log -p -2</i><br />
<br />
Difference introduce by last two commits<br />
<br />
<i>git log --stat</i><br />
<br />
Overall changes happen in each commit.<br />
<br />
<i>git log --pretty=oneline</i><br />
<br />
Show git log with each commit in single line without deeper details.<br />
<br />
<i> git log --pretty=format:"%h - %an, %ar : %s"</i><br />
Format log as follow<br />
<br />
ca82a6d - Scott Chacon, 6 years ago : changed the version number<br />
<br />
<i> git log --pretty=format:"%h %s" --graph</i><br />
<i><br /></i>
Gives graphs like view for log<br />
<br />
<i> git log -Sfunction_name</i><br />
<br />
Git search for the commits which introduce changes in given string<br />
<br />
<i> git log --pretty="%h - %s" --author=gitster --since="2008-10-01" \</i><br />
<br />
Search for commits which made by author gister since the given date.<br />
<br />
<i> git commit --amend</i><br />
<br />
Sometime we forget to add files and commit. At that case we can add those files and using this command it will append those changes to the previous commit.<br />
<br />
<i> git reset HEAD CONTRIBUTING.md</i><br />
<br />
Undo changes in staging area<br />
<br />
<i> git fetch [remote-name]</i><br />
<br />
Update the remote branches with local. After that you can rebase or checkout them.<br />
<br />
<i> git remote show origin</i><br />
<i><br /></i>
More detailed output of origin witth tracked branches and deleted ones.<br />
<br />
<i> git remote rename pb paul</i><br />
<br />
Rename remote server name<br />
<br />
<i>git remote rm paul</i><br />
<br />
Remove git remote<br />
<br />
<i> git tag</i><br />
<i><br /></i>
List available tags<br />
<i><br /></i>
<i> git tag -a v1.4 -m 'my version 1.4'</i><br />
<i><br /></i>
Create a annotated tag<br />
<br />
<i> git show v1.4</i><br />
<br />
Git show tag info<br />
<br />
<i> git tag -a v1.2 9fceb02</i><br />
<br />
Tag specific commit.<br />
<br />
<i> git push origin v1.5 or git push origin --tags</i><br />
<br />
Push single tag or all tags<br />
<br />
<i> git log --oneline --decorate</i><br />
<br />
Detailed commit log view with which commit that each branch currently in.<br />
<br />
<i> git branch -v</i><br />
<br />
Branches with commits<br />
<i><br /></i>
<i> git branch --merged ( --no-merged )</i><br />
<i><br /></i>
Branches that are merged, branches without * is good to delete.<br />
<div>
<br /></div>
<div>
Compare which comments are on a branch that doesn't contain in other branch<br />
<br />
<i>git add -i</i><br />
<i><br /></i>
Very useful command to interactive staging and untaging and etc. Staging part of lines also possible<br />
<br />
<i>git stash</i><br />
<br />
If you don't wanna commit changes and need to switch branches<br />
<i><br /></i>
<i>git stash list</i><br />
<i><br /></i>
List number of stashes and descriptions<br />
<br />
<i>git stash apply | git stash apply stash@{2}</i><br />
<br />
Re apply the stashed changes , but this will not staged newly created files. You need to execute it with <i>git stash apply --index</i><br />
<br />
<i>git stash drop </i><br />
<br />
Drop the last stash<br />
<br />
<br />
<br /></div>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-58509420824979968982015-02-22T05:44:00.002-08:002015-02-22T06:02:56.786-08:00Boxcarring Sample with WSO2 DSS and WSO2 ESBBoxcarring is one of well known function of WSO2 DSS. Boxcarring allow user to execute multiple queries on a database tables at once. So the failure of one operation will lead to rollback all the other database operation which is a very useful feature in most integration scenarios. In this blog post, I'm going to explain how user can work with boxcarring from WSO2 ESB. Thanks of a scenario where we use WSO2 ESB to insert data to multiple table once in proxy service which should support failure of one operation to rollback entire all executed queries. So we need to integrate WSO2 ESB with WSO2 DSS to enable this feature. Make sure you are using WSO2 DSS 3.2.2.<br />
<div>
<br /></div>
<div>
In this sample proxy service in WSO2 ESB insert data into two different tables called EMPLOYEE and EMPLOYEE_A. If one insertion failed, the whole operation need to be rollback. In boxcarrying, DSS identifies the incoming request belongs to particular client from session id. Simply session id is the parameter which DSS queuing the operations to be executed. </div>
<div>
<br /></div>
<div>
<span style="background-color: white; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 14px; line-height: 20px; white-space: pre-wrap;">begin_boxcar - </span>when this Operation is execute, it returns the session id which need to set in next set of database operation which call to the DSS endpoint. </div>
<div>
<span style="background-color: white; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 14px; line-height: 20px; white-space: pre-wrap;"><br /></span></div>
<div>
<span style="background-color: white; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 14px; line-height: 20px; white-space: pre-wrap;">end_boxcar -</span> When this operation is execute, it will execute all the database operations waiting for same session on database.</div>
<div>
<br /></div>
<div>
Sample ESB config</div>
<div>
<br />
<pre class="brush:xml;"><proxy name="DSS_Proxy"
transports="https http"
startOnLoad="true"
trace="disable">
<description/>
<target faultSequence="Fault_1_s">
<inSequence>
<property xmlns:m0="http://ws.wso2.org/dataservice"
name="name"
expression="//m0:op_employee/m0:Name_param"/>
<property xmlns:m0="http://ws.wso2.org/dataservice"
name="age"
expression="//m0:op_employee/m0:Age_param"/>
<log level="full">
<property name="==============ANME==============="
expression="get-property('name')"/>
<property name="==============AGE==============="
expression="get-property('age')"/>
</log>
<enrich>
<source type="body" clone="true"/>
<target type="property" property="FirstBody"/>
</enrich>
<property name="messageType" value="application/xml" scope="axis2"/>
<header name="Action" value="urn:begin_boxcar"/>
<payloadFactory media-type="xml">
<format>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:dat="http://ws.wso2.org/dataservice">
<soapenv:Header/>
<soapenv:Body>
<dat:begin_boxcar/>
</soapenv:Body>
</soapenv:Envelope>
</format>
<args/>
</payloadFactory>
<call>
<endpoint>
<address uri="http://localhost:9764/services/DSS_Insert_Sample_ORg/"/>
</endpoint>
</call>
<property name="setCookieHeader" expression="$trp:Set-Cookie"/>
<property name="Cookie"
expression="get-property('setCookieHeader')"
scope="transport"/>
<property name="OUT_ONLY" value="true"/>
<payloadFactory media-type="xml">
<format>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:dat="http://ws.wso2.org/dataservice">
<soapenv:Header/>
<soapenv:Body>
<p:op_employee xmlns:p="http://ws.wso2.org/dataservice">
<xs:Name_param xmlns:xs="http://ws.wso2.org/dataservice">$1</xs:Name_param>
<xs:Age_Param xmlns:xs="http://ws.wso2.org/dataservice">$2</xs:Age_Param>
</p:op_employee>
</soapenv:Body>
</soapenv:Envelope>
</format>
<args>
<arg evaluator="xml" expression="get-property('name')"/>
<arg evaluator="xml" expression="get-property('age')"/>
</args>
</payloadFactory>
<call>
<endpoint>
<address uri="http://localhost:9764/services/DSS_Insert_Sample_ORg/"/>
</endpoint>
</call>
<property name="setCookieHeader" expression="$trp:Set-Cookie"/>
<property name="Cookie"
expression="get-property('setCookieHeader')"
scope="transport"/>
<property name="OUT_ONLY" value="true"/>
<payloadFactory media-type="xml">
<format>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:dat="http://ws.wso2.org/dataservice">
<soapenv:Header/>
<soapenv:Body>
<p:op_employee_a xmlns:p="http://ws.wso2.org/dataservice">
<xs:Name_param xmlns:xs="http://ws.wso2.org/dataservice">$1</xs:Name_param>
<xs:Age_Param xmlns:xs="http://ws.wso2.org/dataservice">$2</xs:Age_Param>
</p:op_employee_a>
</soapenv:Body>
</soapenv:Envelope>
</format>
<args>
<arg evaluator="xml" expression="get-property('name')"/>
<arg evaluator="xml" expression="get-property('age')"/>
</args>
</payloadFactory>
<call>
<endpoint>
<address uri="http://localhost:9764/services/DSS_Insert_Sample_ORg/"/>
</endpoint>
</call>
<log level="full"/>
<payloadFactory media-type="xml">
<format>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:dat="http://ws.wso2.org/dataservice">
<soapenv:Header/>
<soapenv:Body>
<dat:end_boxcar/>
</soapenv:Body>
</soapenv:Envelope>
</format>
<args/>
</payloadFactory>
<call>
<endpoint>
<address uri="http://localhost:9764/services/DSS_Insert_Sample_ORg/"/>
</endpoint>
</call>
<respond/>
</inSequence>
</target>
</proxy>
</pre>
<br />
Sample Data Service<br />
<br />
<pre class="brush:xml;"><data enableBoxcarring="true" name="DSS_Insert_Sample_ORg">
<config id="DSS_5">
<property name="driverClassName">com.mysql.jdbc.Driver</property>
<property name="url">jdbc:mysql://localhost:3306/test</property>
<property name="username">root</property>
<property name="password">root</property>
</config>
<query id="Q_6" useConfig="DSS_5">
<sql>INSERT into <span style="font-family: 'Times New Roman'; white-space: normal;">EMPLOYEE</span>(name,age) VALUES(?,?)</sql>
<param name="Name_param" sqlType="STRING"/>
<param name="Age_Param" sqlType="STRING"/>
</query>
<query id="Q_5" keyColumns="null" returnGeneratedKeys="true" useConfig="DSS_5">
<sql>INSERT into <span style="font-family: 'Times New Roman'; white-space: normal;">EMPLOYEE_A</span>(name,age) VALUES(?,?)</sql>
<param name="Name_param" sqlType="STRING"/>
<param name="Age_param" sqlType="STRING"/>
</query>
<operation name="op_employee" returnRequestStatus="true">
<call-query href="Q_5">
<with-param name="Name_param" query-param="Name_param"/>
<with-param name="Age_param" query-param="Age_param"/>
</call-query>
</operation>
<operation name="op_employee_a" returnRequestStatus="true">
<call-query href="Q_6">
<with-param name="Name_param" query-param="Name_param"/>
<with-param name="Age_Param" query-param="Age_Param"/>
</call-query>
</operation>
</data>
</pre>
References<br /><br />[1] - https://docs.wso2.com/display/DSS321/Boxcarring+Sample<br /><br />
<br /></div>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com2tag:blogger.com,1999:blog-8542024558530697143.post-3505516963864343952015-02-17T00:41:00.000-08:002015-02-17T00:57:43.580-08:00Two way TCP Transport WSO2 ESB<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<div style="text-align: left;">
<span style="font-family: Arial; font-size: 15px; line-height: 1.15; white-space: pre-wrap;">WSO2 ESB will be support two way TCP Transport in upcoming releases(currently it will be not available but generic support for there with the WSO2 ESB TCP Transport) which client can send and receive messages to the TCP Proxy through same TCP Connection. In TCP transport, there will be need of determining the end of message which needs to be mediated through the ESB. So with the implementation ESB will support splitting message with character, sequence of characters, message length and special characters in hex form. There is a option that client can select which input type where client send the request to tcp proxy. For now the options available for the input type is binary and string. Splitting the message by single character will be the most efficient. </span></div>
</div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Available properties.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"transport.tcp.port" - TCP Port</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"transport.tcp.contentType" - Input message content type</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"transport.tcp.recordDelimiter" - record delimiter </span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"transport.tcp.recordDelimiterType" -type of delimiter (string, character, byte)</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"transport.tcp.recordLength" - Length of message to splitted. If this is set then delimiter properties will be omitted</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"transport.tcp.responseClient - Set if client need to get the response;</span></div>
</li>
<li dir="ltr" style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">"transport.tcp.inputType" - Input type of message (string, binary) </span></div>
</li>
</ul>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Below shows sample proxy which split the message with character. It expected receive message with empty body it will be forward to http endpoint after enrich the body with the IBM symbol.</span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Requesting message </span></div>
<b style="font-weight: normal;"><br /></b>
<br />
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">""<soapenv:Header/><soapenv:Body/></soapenv:Envelope>"<b style="font-weight: normal;"><br /></b>
<br />
<pre class="brush:xml;"> <proxy name="TCPProxy"
transports="tcp"
startOnLoad="true"
trace="disable">
<description/>
<target>
<inSequence>
<property name="symbol" value="IBM" scope="default" type="STRING"/>
<enrich>
<source type="inline" clone="true">
<m:getQuote xmlns:m="http://services.samples">
<m:request>
<m:symbol>?</m:symbol>
</m:request>
</m:getQuote>
</source>
<target type="body"/>
</enrich>
<enrich>
<source type="property" clone="true" property="symbol"/>
<target xmlns:m="http://services.samples" xpath="//m:getQuote/m:request/m:symbol"/>
</enrich>
<log level="full" separator=","/>
<send>
<endpoint>
<address uri="http://localhost:9000/services/SimpleStockQuoteService" format="soap11"/>
</endpoint>
</send>
</inSequence>
<outSequence>
<log level="full"/>
<send/>
</outSequence>
</target>
<parameter name="transport.tcp.responseClient">true</parameter>
<parameter name="transport.tcp.recordDelimiter">|</parameter>
<parameter name="transport.tcp.inputType">string</parameter>
<parameter name="transport.tcp.port">6789</parameter>
<parameter name="transport.tcp.recordDelimiterType">character</parameter>
<parameter name="transport.tcp.contentType">text/xml</parameter>
</proxy>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
</div>
</pre>
Below shows splitting an input message with special charactor apend to end of the message.
<br />
<pre class="brush:xml;"><proxy name="TCPProxy"
transports="tcp"
startOnLoad="true"
trace="disable">
<description/>
<target>
<inSequence>
<property name="symbol" value="IBM" scope="default" type="STRING"/>
<enrich>
<source type="inline" clone="true">
<m:getQuote xmlns:m="http://services.samples">
<m:request>
<m:symbol>?</m:symbol>
</m:request>
</m:getQuote>
</source>
<target type="body"/>
</enrich>
<enrich>
<source type="property" clone="true" property="symbol"/>
<target xmlns:m="http://services.samples" xpath="//m:getQuote/m:request/m:symbol"/>
</enrich>
<log level="full" separator=","/>
<send>
<endpoint>
<address uri="http://localhost:9000/services/SimpleStockQuoteService" format="soap11"/>
</endpoint>
</send>
</inSequence>
<outSequence>
<log level="full"/>
<send/>
</outSequence>
</target>
<parameter name="transport.tcp.recordDelimiter">0x03</parameter>
<parameter name="transport.tcp.responseClient">true</parameter>
<parameter name="transport.tcp.inputType">binary</parameter>
<parameter name="transport.tcp.port">6789</parameter>
<parameter name="transport.tcp.recordDelimiterType">byte</parameter>
<parameter name="transport.tcp.contentType">text/xml</parameter>
</proxy>
</pre>
Below proxy shows splitting with the sequence of characters.
<br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt;">
<pre class="brush:xml;"><proxy name="TCPProxy"
transports="tcp"
startOnLoad="true"
trace="disable">
<description/>
<target>
<inSequence>
<property name="symbol" value="IBM" scope="default" type="STRING"/>
<enrich>
<source type="inline" clone="true">
<m:getQuote xmlns:m="http://services.samples">
<m:request>
<m:symbol>?</m:symbol>
</m:request>
</m:getQuote>
</source>
<target type="body"/>
</enrich>
<enrich>
<source type="property" clone="true" property="symbol"/>
<target xmlns:m="http://services.samples" xpath="//m:getQuote/m:request/m:symbol"/>
</enrich>
<log level="full" separator=","/>
<send>
<endpoint>
<address uri="http://localhost:9000/services/SimpleStockQuoteService" format="soap11"/>
</endpoint>
</send>
</inSequence>
<outSequence>
<log level="full"/>
<send/>
</outSequence>
</target>
<parameter name="transport.tcp.responseClient">true</parameter>
<parameter name="transport.tcp.recordDelimiter">split</parameter>
<parameter name="transport.tcp.inputType">string</parameter>
<parameter name="transport.tcp.port">6789</parameter>
<parameter name="transport.tcp.recordDelimiterType">string</parameter>
<parameter name="transport.tcp.contentType">text/xml</parameter>
</proxy></pre>
</div>
Sample Java Client for split with special character. (character delimiter client can be made easily which small changes to below client )<b style="font-weight: normal;"><br /></b>
<br />
<pre class="brush:xml;">import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
public class TCPClient {
String host = "localhost";
int port = 6789;
Socket socket = null;
int count = 0;
public static void main(String args[]) throws Exception {
Character aByte = 0x10;
TCPClient client = new TCPClient();
String message = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">"
+ "<soapenv:Header/><soapenv:Body/></soapenv:Envelope>" + aByte;
client.sendToServer(message);
client.recieveFromServer();
client.sendToServer(message);
client.recieveFromServer();
client.close();
}
TCPClient() throws Exception {
socket = new Socket(host, port);
}
void sendToServer(String msg) throws Exception {
//create output stream attached to socket
PrintWriter outToServer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
//send msg to server
outToServer.print(msg);
outToServer.flush();
}
void recieveFromServer() throws Exception {
char delimiter = 0x10;
InputStream inFromServer = socket.getInputStream();
//read from server
int next = inFromServer.read();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
while (next > -1) {
if (delimiter != next) {
bos.write(next);
}
next = inFromServer.read();
if (delimiter == next) {
System.out.println(new String(bos.toByteArray()));
count++;
if (count == 1 || count == 2) {
break;
}
bos = new ByteArrayOutputStream();
}
}
if (count == 2) {
close();
}
}
void close() throws IOException {
socket.close();
}
}
</pre>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com22tag:blogger.com,1999:blog-8542024558530697143.post-11958884100127294702015-02-01T08:30:00.001-08:002015-02-01T09:05:01.820-08:00OAuth2 Grant Types and Need of Implicit Grant for JavaScript and Mobile Applications<b>Introduction</b><br />
<br />
The current state-of-the-art of web is that service providers expose their services as web accessible application programming interfaces (APIs) for users to build applications or consume services. One of the key aspects of designing an API platform is controlling who has access to data. Ideally, an API platform should be capable of allowing different levels of user access strategies where authorized consumers may get unlimited access to secure APIs while non-authorized consumers can only access APIs that are public. From the API platform perspective, granting access to different levels of consumers must be made as easy as possible [1]. Most web applications access user data to provide application-specific functionality to the user. For example, applications may need to access users’ Facebook friends. However, requesting user credentials to access Facebook API from a third-party application poses a security risk to the user. As a result, many organizations provide different authorization strategies to access their APIs on behalf of the user. This has created a major requirement for a common global standard for securing APIs. This is where OAuth stands out among other standards.<br />
<br />
<b>What is OAuth? </b><br />
<br />
OAuth is an open standard for authorization and provides a method for clients to access server resources on behalf of a resource owner, such as a different client or an end-user. It also provides a process for end-users to authorize third-party access to their server resources without sharing their credentials, typically a username and password pair, using user-agent redirections [2]. In OAuth, the client requests access to resources controlled by the resource owner and hosted by the resource server by giving a different set of credentials (not the resource owner’s credentials) to access the resource. In OAuth, the client will obtain an access token from the authorization server, which can be used to access server resources on behalf of the resource owner. In this method, resource owner credentials will not be exposed to third-party application. This article will use OAuth 2.0 [3] standard terms to describe OAuth functionality.<br />
<br />
<b>Basic terms
</b>
<b>Roles</b><br />
<br />
There are four types of roles specified in OAuth2:<br />
<br />
<br />
<ul>
<li><b>Resource owner</b>: An entity capable of granting access to a protected resource. When the resource owner is a person, it is referred to as an end-user </li>
</ul>
<br />
<br />
<ul>
<li><b>Resource server</b>: The server hosting the protected resources (e.g. Google hosting your profile and personal information). The resource server will respond to the requests with an access token for the protected resource </li>
</ul>
<br />
<br />
<ul>
<li><b>Client</b>: The application requesting access to a resource server on behalf of the resource owner and with its authorization (client can be your PHP website, a Javascript application, or a mobile application) </li>
</ul>
<br />
<br />
<ul>
<li><b>Authorization server</b>: The server issuing the access token to the client after successful authentication with the resource owner. This token will be used for the client to request the resource server </li>
</ul>
<div>
<br /></div>
<b>Tokens</b><br />
<br />
Tokens are random strings generated by the authorization server after successful authentication with the resource owner, which will be used by clients to request resources from the resource server to obtain authorization for the particular resource. There are two types of tokens: <br />
<b><br /></b>
<b>Access token</b>: This is the more important of the two tokens as it protects the user data from being accessed by a third-party application. This token will be sent by the client to the protected resource in the resource server as a header or parameter in the request. It has a limited lifetime, which is defined by the authorization server. It must be kept as confidential as possible, but this will not always be possible where the client is a web browser that sends requests to the resource server via Javascript [4].<br />
<br />
<b>Refresh token</b>: This token is issued with the access token, but unlike the latter, it is not sent in each request from the client to the resource server. The function of the refresh token is to obtain another access token when the current access token expires after its lifetime. It will not always be possible for the client to obtain the refresh token from the authorization server. We will describe the refresh token action with OAuth grant types.<br />
<br />
<br />
<b>Register as a client </b><br />
<br />
Before the client retrieves data from a resource server using OAuth2, the client needs to register in the authorization server. During the client registration, the client will specify application name, redirection URI to receive authorization code and access token, and several other parameters. Note that there are two types of clients: confidential clients and public clients. After successful registration, confidential clients will receive client credentials that include the credentials listed below:<br />
<br />
<b>Client ID</b>: A unique string representing registration information provided by the client<br />
<b><br /></b>
<b>Client secret</b>: A secret key that must be kept confidential, and which the client can use to get the access token from the authorization server<br />
<br />
<b>OAuth2 flow </b><br />
<br />
The abstract OAuth 2.0 flow illustrated in Figure 1 describes the interaction between the four roles.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-dFUL3X90Rjk/VM5TJ95xEHI/AAAAAAAAAes/6yNJFzAN5mM/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-dFUL3X90Rjk/VM5TJ95xEHI/AAAAAAAAAes/6yNJFzAN5mM/s320/1.png" /></a></div>
<div style="text-align: center;">
Figure 1: OAuth2 flow </div>
<br />
As shown in Figure 1, the client first requests authorization from the resource owner using one of four major grant types or a grant type extension. The authorization grant type depends on the method used by the client to request authorization and the types supported by the authorization server. After the client receives the authorization grant, the client requests an access token from the authorization server presenting the authorization grant. The authorization server then validates the authorization grant and issues the access token for the client. After completing this step, the client can request access for the protected resource in the resource server by presenting the access token. This highlights the basic flow of obtaining access for the protected source by a client.<br />
<br />
<b>Authorization grant types</b>
An authorization grant type is a credential representing the resource owner's authorization (to access its protected resources) used by the client to obtain an access token [3]. There are four major grant types available in the OAuth2 specification. The client can use any grant type depending on the scope of the application.<br />
<br />
<b>Authorization code grant</b><br />
<br />
<b>Applications</b><i style="font-style: italic;"><b></b></i><br />
<br />
This grant type can be used when the client is a web server. With this grant, the client can have lifetime access to the protected resources with the use of a refresh token. Security implications<br />
<b><br /></b>
<b><br /></b>
<b>Token request</b>
The authorization code is obtained by using an authorization server as an intermediary between the client and resource owner. Instead of requesting authorization directly from the resource owner, the client directs the resource owner to an authorization server, which in turn directs the resource owner back to the client with the authorization code. Right before the authorization server redirects to the client with the authorization code, the resource owner needs to authenticate with the authorization server. Since the resource owner directly interacts with the authorization server, resource owner credentials won’t be shared with the client.
There are some benefits with the use of this grant, such as the ability to authenticate the client as well as transmission of the access token directly to the client without passing it through the resource owner's user-agent and potentially exposing it to others, including the resource owner [3]. Using this grant, access token is not visible to the client as it is stored in the client session. Figure 2 shows the authorization grant flow. Using this grant, the client will receive a refresh token that can be used to obtain a new access token when the current token expires. A refresh token is issued because this grant type is bound to the confidential client type.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-ZNXiU2vQB9I/VM5TRzEG-iI/AAAAAAAAAe0/i11XBTLLSvE/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-ZNXiU2vQB9I/VM5TRzEG-iI/AAAAAAAAAe0/i11XBTLLSvE/s320/2.png" /></a></div>
<div style="text-align: center;">
Figure 2: Authorization code grant flow </div>
<br />
<b><br /></b>
<b>Scenario</b><br />
<br />
Take a scenario where some webapp is required by the client to view your Twitter profile. In this scenario, you are the Resource Owner. Similarly, the authorization server and resource server will be the servers from Twitter.
A website wants to obtain information about your Twitter profile
You are redirected by the client (the webapp) to Twitter’s authorization server
If you authorize access, the authorization server sends an authorization code to the client (the webapp) in the callback response
Then, this code is exchanged with an access token between the client and the authorization server
The webapp will access your data from Twitter's APIs with the access token
Security implications
Redirect URL bases attacks are possible with this grant type, hence redirect URI needs to be properly validated.<br />
<br />
<b>Resource owner credentials grant</b><br />
<br />
<b>Applications</b><br />
<br />
The resource owner password credentials grant type is suitable in cases where the resource owner has a trust relationship with the client, such as the device operating system or a highly privileged application [3]. Moreover, this grant type is more suitable for clients who are capable of getting the resource owner’s username and password via a form or other way without violating the resource owner’s security. It is mainly used when the client has been developed by the same authority as the authorization server [4].<br />
<br />
<b>Access token request</b><br />
<br />
During this grant, the resource owner provides his username and password to the client, which then the client uses to request an access token from the authorization server with the client’s credentials. The authorization server responds to the client after successful authentication with the access token and the refresh token. Since the client type is confidential, a refresh token is issued from the authorization server. Figure 3 shows the flow of this grant.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ca4gsh1uaUE/VM5TTwIKhRI/AAAAAAAAAe8/5DZriJPZvCo/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-ca4gsh1uaUE/VM5TTwIKhRI/AAAAAAAAAe8/5DZriJPZvCo/s320/3.png" /></a></div>
<div style="text-align: center;">
Figure 3: Resource owner credentials grant flow</div>
<br />
<b>Scenario</b><br />
<br />
This grant can be used when the client connects to the same authority as in the authorization server. Think of a scenario where you have an account on foo.com and where you are the resource owner. foo.com exposes its services for external users via service.foo.com, which is the resource server. The client is the foo.com website and authorization server will be foo.com’s server. In this scenario, the client of foo.com uses the services exposed by foo.com for build application. In this scenario, both foo.com and service.foo.com are trusted by the client. Therefore, there is a risk of providing the resource owner’s username and password to access APIs.
Foo company exposes its APIs via RESTful interface for users to create third-party applications
Users of this company need an access token to call the services of its own API
Application developers will ask to enter your credentials via a form
The server-side application (website foo.com) will exchange your credentials against an access token from the authorization server
This application then uses the access token to query its own resource server (service.foo.com)<br />
<br />
<b>Client credentials grant</b><br />
<b><br /></b>
<b>Applications</b><br />
<br />
This grant is applicable when the client itself is the resource owner. This grant is used to obtain the access token by giving only the client credentials without having resource owner authentication. This grant can also be used in server to server authentication and to access APIs without the need for end-user permissions, such as application developers.<br />
<br />
<b>Token request</b><br />
<br />
The client will request the access token from the authorization server presenting client credentials. With this grant, the resource owner’s authentication is not needed. This grant type can only be used with confidential clients. Figure 4 shows the flow of obtaining the access token using this grant. A refresh token will not be issued by the authorization server with this grant.
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-u3V_vqvwIkE/VM5TWSmcvLI/AAAAAAAAAfE/uu2Arm7lmGo/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-u3V_vqvwIkE/VM5TWSmcvLI/AAAAAAAAAfE/uu2Arm7lmGo/s320/4.png" /></a></div>
<div style="text-align: center;">
Figure 4: Client credentials grant flow</div>
<br />
<b>Scenario</b>
Let’s say company foo has SDK to develop applications with their APIs for application developers. The resource owner is you as the application developer. Since you are not a end-user, you do not want to authenticate with foo to obtain the access token to build your applications. In this scenario, the client will be the SDK [5].
You as the application developer (Resource Owner) download the foo SDK from their website
You will register the SDK (Client) as an app in foo’s website and get a client_id and client_secret
When building the application using SDK, the application developer can request an access token from foo’s authorization server by presenting client_id and client_secret
Foo’s authorization server will respond with the access token after validating client credentials, which the application developer can use to call foo’s APIs<br />
<br />
<br />
<b>Implicit grant
</b><br />
<b><br /></b>
<b>Applications</b><br />
<br />
The implicit grant type is used to obtain access tokens and is optimized for public clients known to operate a particular redirection URI. These clients are typically implemented in a browser using a scripting language such as JavaScript [3].<br />
<br />
<b>Token request</b><br />
<br />
Implicit grant is based on redirection based flow. As a result, the client should be capable of interacting with the resource owner user agent (such as the browser) to obtain the token from the redirection URI coming from the authorization server. The implicit grant type does not require client authentication, and relies on the presence of the resource owner and the registration of the redirection URI. The resource owner needs to authenticate with the authorization server to obtain the access token. Because the access token is encoded into the redirection URI, it may be exposed to the resource owner and other applications residing in the same device [3]. The client requests for the access token with the client ID and grant type with optional parameters as in Figure 5. Figure 5 describes the complete flow of the implicit grant. Since the resource owner authenticates directly with the authorization server, his/her credentials will not be shared with the client. With this grant, the refresh token will not be issued for the client as the client type is public.<br />
<br />
<br />
<a href="http://1.bp.blogspot.com/-4_eegp0nbJY/VM5TZQtptGI/AAAAAAAAAfM/q-afO0fgLow/s1600/5.png" imageanchor="1"><img border="0" src="http://1.bp.blogspot.com/-4_eegp0nbJY/VM5TZQtptGI/AAAAAAAAAfM/q-afO0fgLow/s320/5.png" /></a><br />
<div style="text-align: center;">
Figure 5: Implicit grant flow </div>
<br />
<b>Scenario</b><br />
<br />
Think of there is a JavaScript (JS) application without any server-side implementation, which requires access of your Twitter profile data. The client will be the JS application and the authorization server will be Twitter’s authorization server. You as resource owner will need to grant access to your profile data from Twitter’s resource server.<br />
<br />
<br />
<ul>
<li> JS application needs to access your Twitter profile data </li>
<li>JS application then sends a request to Twitter’s authorization server presenting the client_id to obtain access of your profile data </li>
<li>Twitter’s authorization server then asks for resource owner authentication to respond with the access token in redirection URI </li>
<li>After successful resource owner authentication, the authorization server responds with the access token as a URI fragment in redirect URI as https://yourapplication..com/mydata?access_token=8d1c93acf1ce504ebaf75213e455f62&expires_in=3600 </li>
<li>Then the client can obtain the access token from the URI fragment to access your profile data </li>
</ul>
<b>Security implications </b><br />
<br />
Implicit grant type is the least secure grant type among other grant types. Because the token is expose to the client side application, it can be stolen by an attacker. Another dangerous security risk is that the client is not aware if the particular token is generated for him/her or another client. Therefore, an attacker can gain access to protected resources.
Figure 6 shows a particular way of stealing a user token by an attacker. Let’s say website A allows users to login via Twitter. The same way, the attacker will create a website called website B, which allows users to login via Twitter as well. When a user logs in to the attacker’s fake website, the attacker will grab the access token from the URI fragment. Now, the access token can be used to login to access user data through website A by<br />
manipulating the access token in website A.
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-hFM8zONaTgg/VM5TdzurTRI/AAAAAAAAAfc/cFKTncqdtU4/s1600/6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-hFM8zONaTgg/VM5TdzurTRI/AAAAAAAAAfc/cFKTncqdtU4/s320/6.png" /></a></div>
<div style="text-align: center;">
Figure 6: Implicit grant token manipulation</div>
<br />
These kind of attacks can be avoided by having proper token validation in the client side’s application. If the authorization server can provide details, such as which client_id belongs to a particular token, then the client can refuse requests that do not match with the access token and the client ID.<br />
<br />
<br />
<b>Why is implicit grant important? </b><br />
<br />
Implicit grant type is most important for JavaScript-based applications that are not capable of keeping client secrets secure in their end. Using implicit grant, the client only requires the client_id to access protected data on behalf of the resource owner. The access token will reside on the resource owner user agent which is the browser. With the authorization code, the client will get a refresh token, which automatically allows the client to access protected resources for a lifetime. Authorize code grant permits trusted users to access protected resources until the session expires in the web server. If the session has expired, no one will be able to get access to the access token with the authorized code grant. However, when there is no web server, there will be no way to invalidate the access token until it expires. If there is no web server, the access token will be available on the Internet, which is unsecure. But by using implicit grant, we can reduce the expired time of the access token to reduce unauthorized access to protected web resources.<br />
<br />
<br />
<b>Implicit grant demo </b><br />
<br />
This demo shows the function of implicit grant in a javascript application. We use WSO2 API Manager as the OAuth2 provider for the demo. WSO2 API Manager supports all four grant types described in the OAuth2 specification. Let’s say you as the resource owner, needs to grant access of your purchase items in an electronic shopping site to a third-party application. We have used a dummy backend API, which provides purchase goods of a user that is protected using OAuth2 with WSO2 API Manager. We have provided a step-by-step description below. We assume that you are familiar with adding APIs and subscribing to them from the API Manager store via applications. It might be useful to become familiar with WSO2 API Manager [7] first.<br />
<br />
<br />
<br />
<ul>
<li> The user will register to API Manager and add an application and subscribe to the backend service, which will provide the user’s purchase goods. Figure 7 shows the view of adding a new application from API Manager. Note that callback URI is important for the implicit grant type where the authorization server will redirect the access token for the URI specified in the application.</li>
</ul>
<br />
<div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-CSiOiu0O6U4/VM5TcCRb9xI/AAAAAAAAAfU/f-lrtDXANg0/s1600/7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-CSiOiu0O6U4/VM5TcCRb9xI/AAAAAAAAAfU/f-lrtDXANg0/s320/7.png" /></a></div>
<div style="text-align: center;">
Figure 7: Add new application</div>
<br />
<br />
<br />
<ul>
<li>Then the user can generate client_id and a secret from the application subscription view. Note that the consumer key and consumer secret is known as client_id and client_secret. Implicit grant only requires the consumer_id(client_id) to get the access token.</li>
</ul>
<br />
<div>
<br /></div>
<div>
<br />
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/--QTiQhTZ8KA/VM5Tf1WtEyI/AAAAAAAAAfk/xkusfWLo-iY/s1600/8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/--QTiQhTZ8KA/VM5Tf1WtEyI/AAAAAAAAAfk/xkusfWLo-iY/s320/8.png" /></a></div>
<span style="text-align: center;"> Figure 8: Application Subscription view </span><br />
<div style="text-align: center;">
<br />
<ul>
<li>My sample application contains a simple interface that requires resource owner access to view the purchase goods as in Figure 9.</li>
</ul>
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-kRLdDKZ8Mw8/VM5TioAlZWI/AAAAAAAAAfw/cvcSuyLDkl0/s1600/9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-kRLdDKZ8Mw8/VM5TioAlZWI/AAAAAAAAAfw/cvcSuyLDkl0/s320/9.png" /></a></div>
<div style="text-align: center;">
Figure 9: Sample interface</div>
<ul>
<li> You as the resource owner needs to grant permission to access data via clicking the Access Data button. At this moment, the application sends the authorization request to the API Manager authorization endpoint with the client_id. As implicit grant specifies, the resource owner needs to authenticate with the authorization server to provide an access token. WSO2 API Manager uses WSO2 IS backend as the authorization endpoint. Therefore, you will direct to WSO2 IS login interface as in Figure 10.</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-QJNWNrmYEKs/VM5TkqEtz7I/AAAAAAAAAf8/Idny92RV2t8/s1600/10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-QJNWNrmYEKs/VM5TkqEtz7I/AAAAAAAAAf8/Idny92RV2t8/s320/10.png" /></a></div>
<div style="text-align: center;">
Figure 10: Login Interface </div>
</div>
<div>
<br /></div>
<div>
<br />
<ul>
<li><span style="text-align: center;">After successful login </span>you will need to provide access to the third-party application to access your data through the interface in Figure 11.</li>
</ul>
</div>
<div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-6pUjecwJgGM/VM5ToPw-5-I/AAAAAAAAAgI/OTQ7ZLm2t1s/s1600/11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-6pUjecwJgGM/VM5ToPw-5-I/AAAAAAAAAgI/OTQ7ZLm2t1s/s320/11.png" /></a></div>
<div style="text-align: center;">
Figure 11: Authorization interface</div>
</div>
<div>
<br /></div>
<div>
<br />
<ul>
<li> After successful authorization, the application will receive the access token in the redirected URI fragment to access protected resources. My sample application will take the access token from the URI fragment and show the data of the user as in Figure 11. As you can see in Figure 11, the access token is in the URL as a fragment with the token expiry time.</li>
</ul>
</div>
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-QVFESY0XGd4/VM5ToEtuoeI/AAAAAAAAAgM/jU2RgEZ9SPk/s1600/12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-QVFESY0XGd4/VM5ToEtuoeI/AAAAAAAAAgM/jU2RgEZ9SPk/s320/12.png" /></a></div>
<div style="text-align: center;">
Figure 12: Resource owner data </div>
<div style="text-align: center;">
<br /></div>
The above sample highlights the importance of the implicit grant for JavaScript or mobile applications that are not capable of storing the client_secret securely.
Conclusion
This article provides an in-depth view to the OAuth2 grant types, highlighting the importance of implicit grant type for JavaScript developers. The demo of the implicit grant type gives a clearer view about the usage of the Implicit grant in real world. OAuth2 is ultimately an amazing authorization framework that allows the API platform to provide access to APIs in a uniform manner. Applications that access data on behalf of the user will be energized with OAuth2 because the user account’s security will be preserved by not exposing their credentials to third-party applications. WSO2 API Manager fully supports OAuth2 grant types that allows users to build API platforms with OAuth2 rapidly.<br />
<br />
<br />
<b>References</b><br />
<ul>
<li>http://www.landofshattereddreams.com/blog/2014/03/17/adventures-in-oauth2/ </li>
<li>http://en.wikipedia.org/wiki/OAuth
http://tools.ietf.org/html/rfc6749 </li>
<li>http://www.bubblecode.net/en/2013/03/10/understanding-oauth2/ </li>
<li>http://soasecurity.org/2013/12/02/client-credential-grant-type-with-oauth-2-0/ </li>
<li>http://stackoverflow.com/questions/7522831/what-is-the-purpose-of-the-implicit-grant-authorization-type-in-oauth-2 </li>
<li>https://docs.wso2.com/display/AM170/WSO2+API+Manager+Documentation</li>
</ul>
</div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-70892560414025293792014-11-22T02:50:00.001-08:002014-11-22T02:50:10.887-08:00How to view the request of Apache HttpClient before send the request Many occations, we are using Apache HttpClinet to send requests in applications. So sometimes we needs to observe the request of the http client. It's simple. Set below System properties before send the request.
<pre class="brush:xml;">
System.setProperty("org.apache.commons.logging.Log","org.apache.commons.logging.impl.SimpleLog");
System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.wire", "DEBUG");
</pre>
There are more additional logs which can enabled too.
<pre class="brush:xml;">
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.impl.conn", "DEBUG");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.impl.client", "DEBUG");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.client", "DEBUG");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http", "DEBUG");
</pre> Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com12tag:blogger.com,1999:blog-8542024558530697143.post-87989455342941208562014-11-18T11:27:00.001-08:002014-11-22T02:50:44.309-08:00How to change Session ID after a successful login In many web application it required to change the sessionid after user is successfully login to the system. In this case, the session ID exists in two different contexts which is vulnerable for attackes. Those contexts are authenticated state and a non-authenticated one. An attacker could start a session, continued through login by a legitimate user, and then re-use the same session to access the user’s account. So using that session id, attacker can obtain the access users' resources as a legitimate user.<br />
In java appplication, JSESSIONID use as the session id. JSESSIONID is a cookie generated by Servlet container like Tomcat or Jetty and used for session management in J2EE web application for http protocol. So below code segment shows how to generate a new session out of old session.<br />
<pre class="brush:xml;">
private void regenrateSession(HttpServletRequest request) {
HttpSession oldSession = request.getSession();
Enumeration attrNames = oldSession.getAttributeNames();
Properties props = new Properties();
while (attrNames != null && attrNames.hasMoreElements()) {
String key = (String) attrNames.nextElement();
props.put(key, oldSession.getAttribute(key));
}
oldSession.invalidate();
HttpSession newSession = request.getSession(true);
attrNames = props.keys();
while (attrNames != null && attrNames.hasMoreElements()) {
String key = (String) attrNames.nextElement();
newSession.setAttribute(key, props.get(key));
}
}
</pre>
<span style="font-family: 'Trebuchet MS', Verdana, Arial, sans-serif; font-size: x-small;"><div>
<span style="font-family: 'Trebuchet MS', Verdana, Arial, sans-serif; font-size: x-small;"><br /></span></div>
<div>
<span style="font-family: 'Trebuchet MS', Verdana, Arial, sans-serif; font-size: x-small;"><br /></span></div>
References<br /><a href="http://javarevisited.blogspot.com/2012/08/what-is-jsessionid-in-j2ee-web.html#ixzz3JRxDttxm" style="color: #003399;">http://javarevisited.blogspot.com/2012/08/what-is-jsessionid-in-j2ee-web.html#ixzz3JRxDttxm</a></span><div>
http://blog.credera.com/technology-insights/java/broken-authentication-session-management/</div>Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-85026328898483598652014-11-09T01:13:00.001-08:002014-11-15T07:03:45.155-08:00How to install OpenMRS 2.x (Reference Application) As everyone know, OpenMRS created OpenMRS 2.0 to provide much more friendly UX for users by navigating from the legeacy interface. So now it's time release the 2.2 version of the OpenMRS. During this blogpost, I will guide you on how to setup OpenMRS 2.2 in your local environment. There are two ways which you can setup OpenMRS 2.x in your local machine. I will guide through the both the ways.<br />
<br />
First I will add a description on the core modules of the OpenMRS 2.x.<br />
<br />
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin-top: 10px; padding: 0px;">
There are several module that are included in the openmrs reference application and the following might be the major modules of the reference application. </div>
<ul style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin: 10px 0px 0px;">
<li>uicommons - Contains the general CSS and Javascript files that are used in the reference application</li>
<li>referencemetadata - Adds required metadata, sets required global properties and any necessary configurations that are required for the application to be functional.</li>
<li>referencedemodata - Adds demodata that is uses in the dev and test environments.</li>
<li>referenceapplication - This is the one that glues everything together to form the reference application.</li>
</ul>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin-top: 10px; padding: 0px;">
And the reference application distro is a utility module that contains the scripts that build and packages the archive that contains all the modules, it also contains the UI tests for the reference application.</div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin-top: 10px; padding: 0px;">
Below modules also subjected to extensive development. </div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin-top: 10px; padding: 0px;">
<b>App framework module</b></div>
<div style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin-top: 10px; padding: 0px;">
This module provide the functionality of set of lightweight guidelines that help us build different parts of the OpenMRS system in a decoupled way, avoiding a monolithic design that become unwieldy as it grows. The App Framework is agnostic to how you actually implement functionality, and very intentionally allows you to write "server-side apps" using the <a href="https://wiki.openmrs.org/display/docs/UI+Framework" style="color: #5177cf; text-decoration: none;">UI Framework</a>, or "client-side apps" using HTML5 + JavaScript + REST.</div>
<ul style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin: 10px 0px 0px;">
<li><a class="external-link" href="https://github.com/openmrs/openmrs-module-appframework" rel="nofollow" style="color: #5177cf; text-decoration: none;">https://github.com/openmrs/openmrs-module-appframework</a></li>
</ul>
<div>
<b style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px;">UI framework module</b></div>
<div>
<b style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px;"><br /></b></div>
<div>
<span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px;">The UI Framework module introduces a custom user interface framework built on top of Spring MVC that will be the basis of the OpenMRS 2.x web application.</span></div>
<div>
<ul style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin: 10px 0px 0px;">
<li><a class="external-link" href="https://github.com/openmrs/openmrs-module-uiframework" rel="nofollow" style="color: #5177cf; text-decoration: none;">https://github.com/openmrs/openmrs-module-uiframework</a></li>
</ul>
<div>
<span style="color: #333333; font-family: Arial, sans-serif;"><span style="font-size: 14px; line-height: 20px;"><br /></span></span></div>
</div>
<div>
<span style="color: #333333; font-family: Arial, sans-serif;"><span style="font-size: 14px; line-height: 20px;">Distro reference application.</span></span></div>
<div>
<span style="color: #333333; font-family: Arial, sans-serif;"><span style="font-size: 14px; line-height: 20px;"><br /></span></span></div>
<div>
<span style="color: #333333; font-family: Arial, sans-serif;"><span style="font-size: 14px; line-height: 20px;">This module will assemble required modules in one places. OpenMRS 2.x use set of code modules to built applications on top of it. If you build the distro application you will see set of modules which needs to be there in the OpenMRS 2.x to function. Inside the package folder, required modules are listed as follow screenshot. But always you can download latest version of modules from the build in <a href="http://sourceforge.net/projects/openmrs/files/releases/OpenMRS_Platform_1.10.0/openmrs.war/download">[4]</a> and <a href="https://ci.openmrs.org/browse/REFAPP-OMODDISTRO/latestSuccessful">[5]</a>. </span></span></div>
<div>
<span style="color: #333333; font-family: Arial, sans-serif;"><span style="font-size: 14px; line-height: 20px;">where [4] gives the openmrs war distribution and [5] gives the set of modules. </span></span></div>
<div>
<span style="color: #333333; font-family: Arial, sans-serif;"><span style="font-size: 14px; line-height: 20px;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-qQ1g17Apu2c/VF8en9PYynI/AAAAAAAAAdE/mraTmVoYk54/s1600/packages.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-qQ1g17Apu2c/VF8en9PYynI/AAAAAAAAAdE/mraTmVoYk54/s1600/packages.png" height="167" width="400" /></a></div>
<div>
<span style="color: #333333; font-family: Arial, sans-serif;"><span style="font-size: 14px; line-height: 20px;"><br /></span></span></div>
<ul style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin: 10px 0px 0px;">
<li><a class="external-link" href="https://github.com/openmrs/openmrs-distro-referenceapplication" rel="nofollow" style="color: #5177cf; text-decoration: none;">https://github.com/openmrs/openmrs-distro-referenceapplication</a></li>
</ul>
<br />
<b>Using tomcat distribution</b><br />
<b><br /></b>
One way of intalling OpenMRS reference application is in the pure tomcat servelet container.<br />
<br />
Please follow installation guide in<a href="https://wiki.openmrs.org/display/docs/Installing+OpenMRS"> [6]</a>. You can use <span style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px;"> </span><a href="http://sourceforge.net/projects/openmrs/files/releases/OpenMRS_Platform_1.10.0/openmrs.war/download" style="font-family: Arial, sans-serif; font-size: 14px; line-height: 20px;">[4]</a> war distribution to install OpenMRS. After or before completing installation setup, OpenMRS 2.x needs some more heap spaces to run. So you will needs to add CATALINA_OPTS and JAVA_OPTS in catalina.sh startup script.<br />
<br />
<pre class="brush:java;">export CATALINA_OPTS="-Xms4096M -Xmx5120M"
export JAVA_OPTS="-Dfile.encoding=UTF-8 -XX:PermSize=64m -XX:MaxPermSize=256m"</pre>
Note that you will needs to set appropriate memory depend on your memory availability.
Then download the modules available in the <a href="https://ci.openmrs.org/browse/REFAPP-OMODDISTRO/latestSuccessful">[5]</a> to start with reference application. Copy the all the modules in the downloaded archive to (.omod files) to applcation data directory. You can install them where the place which locate the openmrs-runtime.properties file location. There you will see a .OpenMRS/modules folder which you can drop the module files and restart the tomcat. Details on application data directory can be found in<a href="https://wiki.openmrs.org/display/docs/Application+Data+Directory"> [7]</a>. <br />
<div>
<br /></div>
<div>
That's it you now log into openmrs(localhost:8080/openmrs or localhost:8080/{webappname}) to experience with OpenMRS 2.x.<br />
<br />
<div>
</div>
<b>Using OpenMRS standalone version</b><br />
<br />
It's very easy to install the OpenMRS 2.x with standalone version where you can download latest release which is OpenMRS 2.1 in standalone in <a href="http://openmrs.org/download/">[8].</a> See instructions to run OpenMRS standalone version in <a href="https://wiki.openmrs.org/display/docs/OpenMRS+Standalone">[9]</a>. If you already running standalone version 2.0, please see <a href="https://wiki.openmrs.org/display/docs/Upgrade+Standalone+OpenMRS+2.0+to+OpenMRS+2.1?flashId=1231697239">[10]</a> for upgrade it to the OpenMRS 2.1.<br />
<br />
Hope you will enjoy with the OpenMRS 2.x.<br />
<br />
Also you can find live server in <a href="http://demo.openmrs.org/">here</a>.<br />
<br />
[1] -https://wiki.openmrs.org/display/projects/Epic+-+Reference+Application<br />
<div>
[2] - https://wiki.openmrs.org/display/docs/App+Framework+Developer+Documentation</div>
<div>
[3] - https://wiki.openmrs.org/display/docs/UI+Framework+Step+By+Step+Tutorial</div>
<div>
[4]-http://sourceforge.net/projects/openmrs/files/releases/OpenMRS_Platform_1.10.0/openmrs.war/download</div>
<div>
[5]-https://ci.openmrs.org/browse/REFAPP-OMODDISTRO/latestSuccessful<br />
[6]-https://wiki.openmrs.org/display/docs/Installing+OpenMRS<br />
[7]-https://wiki.openmrs.org/display/docs/Application+Data+Directory<br />
[8]-http://openmrs.org/download/<br />
[9]-https://wiki.openmrs.org/display/docs/OpenMRS+Standalone<br />
[10]-https://wiki.openmrs.org/display/docs/Upgrade+Standalone+OpenMRS+2.0+to+OpenMRS+2.1?flashId=1231697239</div>
</div>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-71029728804488260252014-11-08T22:30:00.002-08:002014-11-08T22:30:47.006-08:00How to make you own code formatting style with Intellij IDEA <div class="separator" style="clear: both; text-align: center;">
</div>
With the newest version of Intellij IDEA, it's allow you to import existing code style settings from Eclipse code formatter xml. Below screenshot shows how you can import existing Eclipse Code formatter to Intellij. You can navigate to <b>File > Settings>Code Style > Manage</b> where you popup a window to import code style. There you can import eclipse code formatter style to Intellij. Here after you may needs to get the actual code style xml which create by Intellij IDEA, it will be reside in IDEA's meta resource holding configuration directory in home directory where <span style="background-color: white; color: #222222; font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px;">"</span><i><b><span style="background-color: white; color: #222222; font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px;">.</span><span style="background-color: white; color: #222222; font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px;">IntelliJIdea13/config/codestyles</span></b></i><span style="background-color: white; color: #222222; font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px;">". In there you will notice that there will be a configuration file is create for newly added code style. You can use it to share with the others. For reuse the Intellij IDEA code style xml, you can drop configuration xml in </span> <span style="background-color: white; color: #222222; font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px;">"</span><i><b><span style="background-color: white; color: #222222; font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px;">.</span><span style="background-color: white; color: #222222; font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px;">IntelliJIdea13/config/codestyles</span></b></i><span style="background-color: white; color: #222222; font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px;">". Then newly added code style will show in the </span><b>File > Settings>Code Style > Manage </b>tab. Then you can select it to use in the project. In linux systems, shortcut "Ctrl+Alt+L" will do the code formatting for your class. But same shortcut is use to lock the account. So you may change either system or intellij IDEA shortcut to dealt with this.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-Tz0_dn5_EIA/VF5ybXjpY-I/AAAAAAAAAbg/oPTWJMr6urs/s1600/codeformatter.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://2.bp.blogspot.com/-Tz0_dn5_EIA/VF5ybXjpY-I/AAAAAAAAAbg/oPTWJMr6urs/s1600/codeformatter.png" height="184" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Add, edit or select code style</td></tr>
</tbody></table>
<br />
But if you needs to create a new code formatting style, same way you can first go to <b>File > Settings>Code Style > Manage </b>and select existing code formatter style. Afterr words you can do "<b>Save As</b>"where it saves new copy from the original which you can do the changes.<br />
<br />
So what are the available code formatting settings in Intellij IDEA. As the most popular Java IDE, it has several cool properties that you can select to make your own code style formatter.<br />
<br />
I will give a brief idea on what each tab do. You can find more details in <a href="https://www.jetbrains.com/idea/help/code-style-java.html">[1]</a>. I will closely look at Java language specific code formatting. <br />
<br />
There is a <b>General</b> tab which contains the general settings for the all the supported languages as in below image. Where you specify maximum length for the line and etc.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-fLyfBsz2dTY/VF52Y6hfdNI/AAAAAAAAAbs/DRjDiufseX8/s1600/general_view.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://3.bp.blogspot.com/-fLyfBsz2dTY/VF52Y6hfdNI/AAAAAAAAAbs/DRjDiufseX8/s1600/general_view.png" height="125" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">General Tab</td></tr>
</tbody></table>
<br />
<br />
<b>General</b> tab contains below properties. For more details look at <a href="https://www.jetbrains.com/idea/help/code-style-java.html">[1]</a>.<br /><ul>
<li>Right margin, Formatter on/off tags</li>
<li>Indentation</li>
<li>Indent size</li>
<li>Usage of ‘Tab’ character</li>
<li>Usage of Tab only for leading indentation (Smart Tabs)</li>
<li>Indent ‘case’ branches from ‘switch’</li>
<li>Indent class members</li>
<li>Keep comment at first column</li>
</ul>
<b>Spaces</b> tab contains the rules on where the code needs to have spaces on. For example people may prefer space after the class name. Below are the several properties. For more details look at <a href="https://www.jetbrains.com/idea/help/code-style-java.html">[1]</a>.<br /><ul>
<li>Before/after comma (as set for Eclipse method declaration parameters)</li>
<li>After comma in type arguments</li>
<li>Within array initializer braces</li>
<li>Within brackets (in array reference)</li>
<li>Within parentheses of: annotation, ‘for’, ‘if’, ‘catch’ ’while’, ’switch’, method, empty method, parenthesized expression, method call, type cast, ‘synchronized’</li>
<li>Before parentheses of: ‘try’, ‘for’, ’while’, ‘switch’, method, ’if’, ‘catch’, method, method call, ‘synchronized’.</li>
<li>After type cast</li>
<li>Around unary, assignment operators (if it’s set for ‘before’ and ‘after’ in Eclipse).</li>
<li>Before opening brace of: array initializer, ‘switch’</li>
<li>Before ‘?’ in conditional expression</li>
<li>Space before/after ‘:’ in conditional expression</li>
<li>Space around binary operators (a single Eclipse setting is mapped to multiple IntelliJ IDEA’s settings)</li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-BEBpL-fPhII/VF8F45JybQI/AAAAAAAAAcE/9hs97VBAcu8/s1600/spaces.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://4.bp.blogspot.com/-BEBpL-fPhII/VF8F45JybQI/AAAAAAAAAcE/9hs97VBAcu8/s1600/spaces.png" height="246" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Spaces tab</td></tr>
</tbody></table>
<div>
<br /></div>
<div>
<b>Blank lines</b> tab contains the rules for where to insert blank lines between different sections such as imports licence headers and etc. Below are the several properties. For more details look at <a href="https://www.jetbrains.com/idea/help/code-style-java.html">[1]</a>.<br /><ul>
<li>Around fields and methods</li>
<li>Before/after package</li>
<li>Before/after imports</li>
<li>Before method body</li>
<li>Keep blank lines in code (number of empty lines to preserve)</li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-eWUynk3Oa10/VF8GubYBGeI/AAAAAAAAAcM/Ig5V0h3XU9k/s1600/blank_lines.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://3.bp.blogspot.com/-eWUynk3Oa10/VF8GubYBGeI/AAAAAAAAAcM/Ig5V0h3XU9k/s1600/blank_lines.png" height="241" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Blank Lines</td></tr>
</tbody></table>
<div>
<br /></div>
<b>Wrapping and Braces</b> tab contains the rules for where we needs to wrap lines for example, we may perform line wrap if single line exceed maximum line length. Below are the several properties. For more details look at <a href="https://www.jetbrains.com/idea/help/code-style-java.html">[1]</a>. </div>
<div>
<ul>
<li>New line before: closing brace in array initializer, ‘else’ in ‘if’ statement, ‘finally’ and ‘catch’ in ‘try’ statement, binary operator (if wrapped)</li>
<li>New line after: opening brace in array initializer</li>
<li>Special ‘else if’ treatment (compact ‘else if’)</li>
<li>Keep simple blocks in one line</li>
<li>Keep control statements in one line</li>
</ul>
</div>
<div>
<ul>
<li>Alignment of: array initializer expressions, arguments in method declarations and calls, field declarations, extends list, assignments, binary expressions, ‘throws’ clause, resources in ‘try’.</li>
<li>Brace style for: code blocks, methods and classes</li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-R0MGYkDN4e0/VF8H8fqigWI/AAAAAAAAAcY/MW4VSOWb8uo/s1600/wrapping_and_braces.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://4.bp.blogspot.com/-R0MGYkDN4e0/VF8H8fqigWI/AAAAAAAAAcY/MW4VSOWb8uo/s1600/wrapping_and_braces.png" height="233" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Wrapping and Braces</td></tr>
</tbody></table>
<b>JavaDoc </b>tab contains rules for format java docs. Below are the several properties. For more details look at <a href="https://www.jetbrains.com/idea/help/code-style-java.html">[1]</a>. </div>
<div>
<ul>
<li>Enable JavaDoc formatting</li>
<li>Blank lines in JavaD</li>
</ul>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-a3CTGUt5uio/VF8IxM2R9UI/AAAAAAAAAcg/oXH0vyiNPVo/s1600/javadoc.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://2.bp.blogspot.com/-a3CTGUt5uio/VF8IxM2R9UI/AAAAAAAAAcg/oXH0vyiNPVo/s1600/javadoc.png" height="242" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Java Doc</td></tr>
</tbody></table>
<br />
<strong style="background-color: white; color: #222222; font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px;">Imports</strong><span style="background-color: white; color: #222222; font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px;"> tab contains rules on how we format imports in the class. Sometimes you will notice that, Intellij IDEA perform wild card imports. It can be overcome with this tab settings</span> . For more details look at <a href="https://www.jetbrains.com/idea/help/code-style-java.html">[1]</a>.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-zIYC1_qYdqk/VF8JQhg0l2I/AAAAAAAAAcs/6-w_xC3deCM/s1600/imports.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://1.bp.blogspot.com/-zIYC1_qYdqk/VF8JQhg0l2I/AAAAAAAAAcs/6-w_xC3deCM/s1600/imports.png" height="243" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Imports</td></tr>
</tbody></table>
<strong style="background-color: white; color: #222222; font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px;">Arrangement</strong><span style="background-color: white; color: #222222; font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19px;"> This tab lets you define a set of rules that rearranges your code according to your preferences. </span>For more details look at <a href="https://www.jetbrains.com/idea/help/code-style-java.html">[1]</a>.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-1Ku_4eYn_OI/VF8JlH9XmLI/AAAAAAAAAc0/0Z9yR3lEK_g/s1600/arrangmen.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://3.bp.blogspot.com/-1Ku_4eYn_OI/VF8JlH9XmLI/AAAAAAAAAc0/0Z9yR3lEK_g/s1600/arrangmen.png" height="242" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Arrangement</td></tr>
</tbody></table>
<br />
After you select the appropriate rules, click apply. Then you can apply the formatting rules and you can take out the current configuration from above mentioned configuration location.<br />
<br />
[1] - https://www.jetbrains.com/idea/help/code-style-java.html<br />
[2] - http://blog.jetbrains.com/idea/2014/01/intellij-idea-13-importing-code-formatter-settings-from-eclipse/</div>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com10tag:blogger.com,1999:blog-8542024558530697143.post-47805486586699490892014-10-26T12:33:00.000-07:002014-10-26T12:33:56.748-07:00Get original hash code of a Object after overriding the equals and hash code methods<p class="brush:java;">When we writing programs, there are some which we override the hash code and the equals method of a object in java. But sometimes, when debugging purposes, we always needs to get the original
hash code of a object. This is where we can use interesting method to takeout the actual hash code of the object.</p>
<pre class="brush:java;">
System.identityHashCode(object)
</pre>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-24861631043906832042014-10-19T01:26:00.001-07:002014-11-25T22:55:53.487-08:00How to change the logging pattern of NginxSome time you may needs to filter out requests and responses coming to Nginx with more details wich requires specify customize log level in Nginx. Assume you may needs to find out the JSESSIONID of a request coming to the Nginx. Here is the way to have the customize log with Nginx.<br />
<br />
Specify following logging format in the nginx.conf and refer it in the access log.<br />
<br />
<pre class="brush:xml;">log_format <span style="color: red;">main</span> '$remote_addr - $remote_user [$time_local]''"$request" $status $body_bytes_sent''"$http_referer" "$http_user_agent" - "$http_cookie"';
</pre>
<br />
access_log /var/log/nginx/access.log <span style="color: red;">main</span>;<br />
<br />
You will see out put similar to follow.<br />
<br />
<pre class="brush:xml;">10.100.5.81 - - [29/Sep/2014:15:44:06 +0530] "GET /gad_test/index.jsp HTTP/1.1" 200 147 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36" - "JSESSIONID=A2EADE2B419119B8D6184D2B403EC1F1; menuPanel=visible; menuPanelType=main; MSG14119741284050.4971712792784695=true; MSG14119785293260.851528721338783=true; MSG14119793691950.3470202483511987=true; MSG14119793844710.6098322352974117=true; requestedURI=\x22../../carbon/webapp-mgt/upload.jsp?region=region1&item=webapps_add\x22; current-breadcrumb=manage_menu%2Cwebapps_menu%2Cwebapps_list_menu%23webapp-list+webapp_info.jsp*; JSESSIONID=AB2D16E5754D07F20584BBC58119B466"
</pre>
Also you can enable debug logs of Nginx as follow<div>
<pre class="brush:xml;">error_log path_to_the_log_file debug;
</pre>
</div>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-81639381568114529342014-10-11T04:10:00.000-07:002014-10-18T21:02:26.773-07:00Find files which don't have a keywordIn our normal day to day activities, we often needs to search for files looking for some keyword. But when you need to search for files which don't have a specific keyword in linux. Below I gave the answer for it. This search for java files which don't have the keyword WARRANTIES. -L flag in grep gives this functionality. <br />
<br />
<div style="text-align: center;">
<span style="font-family: Courier New, Courier, monospace;">grep -rL "WARRANTIES" --include=*.java *</span></div>
Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0tag:blogger.com,1999:blog-8542024558530697143.post-75995113455971545902013-09-02T19:39:00.002-07:002013-09-02T19:39:49.684-07:0011th Week at OpenMRSThis week I mostly work with query view which allows manager to filter out record with given constraints. So after this feature, functionality wise module works finished.I have small UX improvements as suggest by my mentor. Hope to finish up small UX changes in up coming weeks with documentation about the project.Please find query view UI below.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-6vxXe2RwGf4/UiVL4a97iqI/AAAAAAAAAQM/d_uzq_oR92Y/s1600/qury.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="230" src="http://2.bp.blogspot.com/-6vxXe2RwGf4/UiVL4a97iqI/AAAAAAAAAQM/d_uzq_oR92Y/s640/qury.png" width="640" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/00683906560180928871noreply@blogger.com0