<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9104813501868351989</id><updated>2020-06-07T03:20:19.931-07:00</updated><category term="ESB"/><title type='text'>DUSHAN &#39;S VIEW</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>DUSHAN TECH VISION</name><uri>http://www.blogger.com/profile/01549659515037283808</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>45</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-5248761653877846608</id><published>2017-01-19T18:05:00.002-08:00</published><updated>2017-01-19T18:05:27.151-08:00</updated><title type='text'>Implement an effective Digital Platform using WSO2 Integration - WSO2 Con 17</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://us17.wso2con.com/&quot;&gt;&lt;img alt=&quot;http://us17.wso2con.com/&quot; border=&quot;0&quot; height=&quot;256&quot; src=&quot;https://2.bp.blogspot.com/-1FfBXqF2tZ8/WIFuFN_t2TI/AAAAAAAAAzI/E1FQN8tTHuE05EjRwRsxIz2I7t2XAXgaQCEw/s640/Snip20170119_32.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://us17.wso2con.com/&quot;&gt;&lt;img alt=&quot;http://us17.wso2con.com/&quot; border=&quot;0&quot; height=&quot;218&quot; src=&quot;https://1.bp.blogspot.com/-n98ysEAn-a0/WIFupcC7HhI/AAAAAAAAAzM/IMf4oLByulkm7KukVmrhT3goxZSKLrRigCEw/s640/Linkedin-I%2527m%2Ba%2BSpeaker.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/5248761653877846608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2017/01/implement-effective-digital-platform_19.html#comment-form' title='52 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/5248761653877846608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/5248761653877846608'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2017/01/implement-effective-digital-platform_19.html' title='Implement an effective Digital Platform using WSO2 Integration - WSO2 Con 17'/><author><name>DUSHAN TECH VISION</name><uri>http://www.blogger.com/profile/01549659515037283808</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://2.bp.blogspot.com/-1FfBXqF2tZ8/WIFuFN_t2TI/AAAAAAAAAzI/E1FQN8tTHuE05EjRwRsxIz2I7t2XAXgaQCEw/s72-c/Snip20170119_32.png" height="72" width="72"/><thr:total>52</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-4514612764988015369</id><published>2016-11-16T10:48:00.000-08:00</published><updated>2016-11-17T20:49:35.191-08:00</updated><title type='text'> Distributed Transaction (XATransaction) For JMS Trasnport- WSO2 ESB 5.0.0</title><content type='html'>&lt;b id=&quot;docs-internal-guid-6de47b2a-6e6c-38ff-03fb-987aeaa6a116&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;/b&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;b id=&quot;docs-internal-guid-6de47b2a-6e6c-38ff-03fb-987aeaa6a116&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-size: 18.666666666666664px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Distributed Transaction (XATransaction) For JMS Trasnport- WSO2 ESB 5.0.0&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b id=&quot;docs-internal-guid-6de47b2a-6e6c-38ff-03fb-987aeaa6a116&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;&quot;&gt;&lt;span style=&quot;background-color: white; color: #222222; display: inline; float: none; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-size: x-small; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Distributed transactions plays a major role in today&#39;s business world. It adds a very important functionality to your system, which you will only see in a system crash. Having good transactional support in your system will definitely save your business in a system crash&lt;/span&gt;.&lt;/span&gt;&lt;/div&gt;&lt;h2 dir=&quot;ltr&quot; style=&quot;line-height: 1.32; margin-bottom: 8pt; margin-top: 15pt;&quot;&gt;&lt;b id=&quot;docs-internal-guid-6de47b2a-6e6c-38ff-03fb-987aeaa6a116&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: #333333; font-family: &amp;quot;times new roman&amp;quot;; font-size: 18.666666666666664px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;Distributed JMS transaction&lt;/span&gt;&lt;/b&gt;&lt;/h2&gt;&lt;span style=&quot;background-color: white; color: #222222; display: inline; float: none; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-size: small; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;An external transaction manager manages the coordination of the transaction. Designing and using JMS distributed transactions is more complex than using local JMS transactions.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br style=&quot;color: #222222; font-family: &amp;quot;arial&amp;quot;,sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; display: inline; float: none; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-size: small; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;The transaction manager is the primary component of the distributed transaction infrastructure and distributed JMS transactions are managed by the XAResource enabled transaction manager in the J2EE application server. Also note that you need to check if your message broker supports XA transactions.&lt;/span&gt;&lt;br /&gt;&lt;h3 dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 2pt; margin-right: 6pt; margin-top: 8pt; text-align: justify;&quot;&gt;&lt;b id=&quot;docs-internal-guid-6de47b2a-6e6c-38ff-03fb-987aeaa6a116&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: #cccccc; color: black; font-family: &amp;quot;times new roman&amp;quot;; font-size: 14.666666666666666px; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;XA two-phase commit process&lt;/span&gt;&lt;/b&gt;&lt;/h3&gt;&lt;span style=&quot;background-color: white; color: #222222; display: inline; float: none; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-size: small; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;The two-phase commit consists of the following steps:&lt;/span&gt;&lt;br /&gt;&lt;ul style=&quot;color: #222222; font-family: &amp;quot;arial&amp;quot;,sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Immediately after the transaction begins, the transaction manager invokes start() on the JMS XA resource, which indicates that the resource should initialize a new transaction. The JMS XA resource now generates a new transaction ID and sends it over the network to the remote broker.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;color: #222222; font-family: &amp;quot;arial&amp;quot;,sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;The JMS XA resource now forwards all of the operations that arise during a JMS session (for example, messages, acknowledgments, and so on) to the remote broker.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;color: #222222; font-family: &amp;quot;arial&amp;quot;,sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;On the broker side, the received operations are not performed immediately. Because the operations are happening in a transaction context and the transaction is not yet committed, the broker buffers all of the operations in a transaction store (held in memory, initially). Messages held in the transaction store are not forwarded to JMS consumers.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;color: #222222; font-family: &amp;quot;arial&amp;quot;,sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;In a two-phase commit process, the first phase of completing the transaction is where the transaction manager invokes prepare() on all of the participating XA resources. At this stage, the JMS XA resource sends the prepare() operation to the remote broker.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;color: #222222; font-family: &amp;quot;arial&amp;quot;,sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;On the broker side, when the transaction store receives the prepare() operation, it writes all of the buffered operations to disk. Hence, after the prepare phase, there is no longer any risk of losing data associated with this transaction branch.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;color: #222222; font-family: &amp;quot;arial&amp;quot;,sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;The second phase of completing the transaction is where the transaction manager invokes commit() on all of the participating XA resources. The JMS XA resource sends the commit() operation to the remote broker.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;color: #222222; font-family: &amp;quot;arial&amp;quot;,sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;On the broker side, the transaction store marks this transaction as complete. The pending operations are now executed and any pending messages can now be forwarded to JMS consumers.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;background-color: white; color: #222222; display: inline; float: none; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-size: small; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;Please follow &lt;a href=&quot;https://docs.wso2.com/display/ESB500/Configure+with+ActiveMQ&quot;&gt;documentation&lt;/a&gt; to configure WSO2&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt;esb&lt;span style=&quot;background-color: white; color: #222222; display: inline; float: none; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;with&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;activemq&lt;span style=&quot;background-color: white; color: #222222; display: inline; float: none; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;browser.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 6pt;&quot;&gt;&lt;b id=&quot;docs-internal-guid-6de47b2a-6e6c-38ff-03fb-987aeaa6a116&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &amp;quot;calibri&amp;quot;; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;XA transaction example.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br style=&quot;color: #222222; font-family: &amp;quot;arial&amp;quot;,sans-serif; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #222222; display: inline; float: none; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-size: small; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;ESB listen to message queue and send that message to multiple queues. &amp;nbsp;if something went wrong in sending the message to one of those queues, the original message should be rollbacked to Listening queue and none of the queues should receive the message. The entire transaction should be rollbacked.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-xh2q5jCxIJc/WC6IThG4FSI/AAAAAAAAAwA/V-FJpsK2r14EvnUf9G-J3CA_BmR5Zs-XACLcB/s1600/Untitled%2BDiagram.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;350&quot; src=&quot;https://2.bp.blogspot.com/-xh2q5jCxIJc/WC6IThG4FSI/AAAAAAAAAwA/V-FJpsK2r14EvnUf9G-J3CA_BmR5Zs-XACLcB/s640/Untitled%2BDiagram.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.38; margin-bottom: 0pt; margin-top: 6pt;&quot;&gt;&lt;span style=&quot;background-color: white; color: #222222; display: inline; float: none; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-size: small; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;The following example code shows the configuration of ESB which listen to a JMS queue and consume messages as well as to send messages to multiple JMS queues in transactional manner.&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;line-height: 1.2; margin-bottom: 0pt; margin-top: 6pt;&quot;&gt;&lt;b id=&quot;docs-internal-guid-6de47b2a-6e6c-38ff-03fb-987aeaa6a116&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &amp;quot;calibri&amp;quot;; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;pre class=&quot;brush:php;&quot;&gt;&amp;lt;proxy xmlns=&quot;http://ws.apache.org/ns/synapse&quot;&lt;br /&gt;       name=&quot;JMSListenerProxy&quot;&lt;br /&gt;       transports=&quot;https http jms&quot;&lt;br /&gt;       startOnLoad=&quot;true&quot;&amp;gt;&lt;br /&gt;   &amp;lt;description/&amp;gt;&lt;br /&gt;   &amp;lt;target&amp;gt;&lt;br /&gt;      &amp;lt;inSequence&amp;gt;&lt;br /&gt;         &amp;lt;property name=&quot;OUT_ONLY&quot; value=&quot;true&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;log level=&quot;custom&quot;&amp;gt;&lt;br /&gt;            &amp;lt;property name=&quot;MESSAGE_ID_A&quot; expression=&quot;get-property(&#39;MessageID&#39;)&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;/log&amp;gt;&lt;br /&gt;         &amp;lt;log level=&quot;custom&quot;&amp;gt;&lt;br /&gt;            &amp;lt;property name=&quot;BEFORE&quot; expression=&quot;$body&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;/log&amp;gt;&lt;br /&gt;         &amp;lt;property name=&quot;MESSAGE_ID_B&quot;&lt;br /&gt;                   expression=&quot;get-property(&#39;MessageID&#39;)&quot;&lt;br /&gt;                   scope=&quot;operation&quot;&lt;br /&gt;                   type=&quot;STRING&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;property name=&quot;failureResultProperty&quot;&lt;br /&gt;                   scope=&quot;default&quot;&lt;br /&gt;                   description=&quot;FailureResultProperty&quot;&amp;gt;&lt;br /&gt;            &amp;lt;result xmlns=&quot;&quot;&amp;gt;failure&amp;lt;/result&amp;gt;&lt;br /&gt;         &amp;lt;/property&amp;gt;&lt;br /&gt;         &amp;lt;enrich&amp;gt;&lt;br /&gt;            &amp;lt;source clone=&quot;true&quot; xpath=&quot;$ctx:failureResultProperty&quot;/&amp;gt;&lt;br /&gt;            &amp;lt;target type=&quot;body&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;/enrich&amp;gt;&lt;br /&gt;         &amp;lt;log level=&quot;custom&quot;&amp;gt;&lt;br /&gt;            &amp;lt;property name=&quot;AFTER&quot; expression=&quot;$body&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;/log&amp;gt;&lt;br /&gt;         &amp;lt;property name=&quot;BEFORE1&quot; value=&quot;ABCD&quot; scope=&quot;axis2&quot; type=&quot;STRING&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;callout serviceURL=&quot;jms:/ActiveMQPublisher1?transport.jms.ConnectionFactoryJNDIName=XAConnectionFactory&amp;amp;amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;amp;amp;java.naming.provider.url=tcp://localhost:61616&amp;amp;amp;transport.jms.DestinationType=queue;transport.jms.TransactionCommand=begin&quot;&amp;gt;&lt;br /&gt;            &amp;lt;source type=&quot;envelope&quot;/&amp;gt;&lt;br /&gt;            &amp;lt;target xmlns:s12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&lt;br /&gt;                    xmlns:s11=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&lt;br /&gt;                    xpath=&quot;s11:Body/child::*[fn:position()=1] | s12:Body/child::*[fn:position()=1]&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;/callout&amp;gt;&lt;br /&gt;         &amp;lt;callout serviceURL=&quot;jms:/ActiveMQPublisher2?transport.jms.ConnectionFactoryJNDIName=XAConnectionFactory&amp;amp;amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;amp;amp;java.naming.provider.url=tcp://localhost:61616&amp;amp;amp;transport.jms.DestinationType=queue&quot;&amp;gt;&lt;br /&gt;            &amp;lt;source type=&quot;envelope&quot;/&amp;gt;&lt;br /&gt;            &amp;lt;target xmlns:s12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&lt;br /&gt;                    xmlns:s11=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&lt;br /&gt;                    xpath=&quot;s11:Body/child::*[fn:position()=1] | s12:Body/child::*[fn:position()=1]&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;/callout&amp;gt;&lt;br /&gt;         &amp;lt;callout serviceURL=&quot;jms:/ActiveMQPublisher3?transport.jms.ConnectionFactoryJNDIName=XAConnectionFactory&amp;amp;amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;amp;amp;java.naming.provider.url=tcp://localhost:61616&amp;amp;amp;transport.jms.DestinationType=queue;transport.jms.TransactionCommand=end&quot;&amp;gt;&lt;br /&gt;            &amp;lt;source type=&quot;envelope&quot;/&amp;gt;&lt;br /&gt;            &amp;lt;target xmlns:s12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&lt;br /&gt;                    xmlns:s11=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&lt;br /&gt;                    xpath=&quot;s11:Body/child::*[fn:position()=1] | s12:Body/child::*[fn:position()=1]&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;/callout&amp;gt;&lt;br /&gt;         &amp;lt;drop/&amp;gt;&lt;br /&gt;      &amp;lt;/inSequence&amp;gt;&lt;br /&gt;      &amp;lt;faultSequence&amp;gt;&lt;br /&gt;         &amp;lt;log level=&quot;custom&quot;&amp;gt;&lt;br /&gt;            &amp;lt;property name=&quot;Transaction Action&quot; value=&quot;Rollbacked&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;/log&amp;gt;&lt;br /&gt;         &amp;lt;callout serviceURL=&quot;jms:/ActiveMQPublisherFault?transport.jms.ConnectionFactoryJNDIName=XAConnectionFactory&amp;amp;amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;amp;amp;java.naming.provider.url=tcp://localhost:61616&amp;amp;amp;transport.jms.DestinationType=queue;transport.jms.TransactionCommand=rollback&quot;&amp;gt;&lt;br /&gt;            &amp;lt;source type=&quot;envelope&quot;/&amp;gt;&lt;br /&gt;            &amp;lt;target xmlns:s12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&lt;br /&gt;                    xmlns:s11=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&lt;br /&gt;                    xpath=&quot;s11:Body/child::*[fn:position()=1] | s12:Body/child::*[fn:position()=1]&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;/callout&amp;gt;&lt;br /&gt;      &amp;lt;/faultSequence&amp;gt;&lt;br /&gt;   &amp;lt;/target&amp;gt;&lt;br /&gt;   &amp;lt;parameter name=&quot;transport.jms.ContentType&quot;&amp;gt;&lt;br /&gt;      &amp;lt;rules&amp;gt;&lt;br /&gt;         &amp;lt;jmsProperty&amp;gt;contentType&amp;lt;/jmsProperty&amp;gt;&lt;br /&gt;         &amp;lt;default&amp;gt;application/xml&amp;lt;/default&amp;gt;&lt;br /&gt;      &amp;lt;/rules&amp;gt;&lt;br /&gt;   &amp;lt;/parameter&amp;gt;&lt;br /&gt;   &amp;lt;parameter name=&quot;transport.jms.Destination&quot;&amp;gt;MyJMSQueue&amp;lt;/parameter&amp;gt;&lt;br /&gt;&amp;lt;/proxy&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;b id=&quot;docs-internal-guid-6de47b2a-6e6c-38ff-03fb-987aeaa6a116&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: black; font-family: &amp;quot;calibri&amp;quot;; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br style=&quot;-webkit-text-stroke-width: 0px; color: #222222; font-family: arial, sans-serif; font-size: small; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #222222; display: inline; float: none; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-size: small; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;To place a message into a JMS queue, execute following command from /samples/axis2Client directory.&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;br /&gt;&lt;pre class=&quot;brush:php;&quot;&gt;ant stockquote -Dmode=placeorder -Dtrpurl=&quot;jms:/MyJMSQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;amp;java.naming.provider.url=tcp://localhost:61616&amp;amp;transport.jms.ContentTypeProperty=Content-Type&amp;amp;transport.jms.DestinationType=queue&quot;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; color: #222222; display: inline; float: none; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-size: small; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;You should be able to observe ESB consumes messages from MYJMSQueue and sends to multiple queues. To check rollback functionality provide unreachable host name to any destination queue and save the configurations. You should be able to observe ESB fault sequence getting invoked and failed message delivered to configured destination within fault sequence&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot; style=&quot;margin-left: 0pt;&quot;&gt;&lt;span style=&quot;background-color: white; color: #222222; display: inline; float: none; font-family: &amp;quot;arial&amp;quot; , sans-serif; font-size: small; font-style: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;Anyway,&lt;/span&gt;&lt;br /&gt;&lt;ul style=&quot;-webkit-text-stroke-width: 0px; color: #222222; font-family: arial, sans-serif; font-size: small; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;/span&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;The problem with XA is it can be a bit slow; as the XA protocol requires multiple syncs to disk to ensure it can always recover properly under every possible failure scenario. This adds significant cost (in terms of latency, performance, resources and complexity).&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;Also&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;quite a few EJB servers and databases don&#39;t actually properly support XA&lt;/span&gt;&lt;/li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;/span&gt;&lt;li&gt;&lt;span style=&quot;font-size: small;&quot;&gt;So a good&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;optimisation&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;is to use regular JMS transactions - with no XA - and just perform some duplicate message detection in your code to check you have not already processed the message. (ref ActiveMQ)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/4514612764988015369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2016/11/distributed-transaction-xatransaction.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/4514612764988015369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/4514612764988015369'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2016/11/distributed-transaction-xatransaction.html' title=' Distributed Transaction (XATransaction) For JMS Trasnport- WSO2 ESB 5.0.0'/><author><name>DUSHAN TECH VISION</name><uri>http://www.blogger.com/profile/01549659515037283808</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://2.bp.blogspot.com/-xh2q5jCxIJc/WC6IThG4FSI/AAAAAAAAAwA/V-FJpsK2r14EvnUf9G-J3CA_BmR5Zs-XACLcB/s72-c/Untitled%2BDiagram.png" height="72" width="72"/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-7208473791333919322</id><published>2016-10-14T15:03:00.001-07:00</published><updated>2016-10-14T16:18:53.140-07:00</updated><title type='text'>Amazon API GW integration with WSO2 IS for OAuth 2.0 token validation</title><content type='html'>In this blog thought of discussing another interesting topic which is relate token validation and how you can register a custom Authorizers via lambda functions to the &lt;a href=&quot;https://aws.amazon.com/api-gateway/&quot;&gt;&lt;b&gt;&lt;u&gt;Amazon API Gateway&lt;/u&gt;&lt;/b&gt;&lt;/a&gt; and use &lt;b&gt;&lt;u&gt;&lt;a href=&quot;http://wso2.com/products/identity-server/&quot;&gt;WSO2 Identity Server&lt;/a&gt; &lt;/u&gt;&lt;/b&gt;as authorization server&lt;b&gt;.&lt;/b&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp; &lt;b&gt;So, Following steps will guide you on how to use WSO2 IS as a custom authorize for Amazon APIs&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Setup WSO2 Identity Server &lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;We will be generating tokens in WSO2 IS and using them to call APIs configured in Amazon API Gateway Preparing WSO2 IS And Generating tokens&amp;nbsp;&lt;/li&gt;&lt;li&gt;When testing WSO2 IS for Amazon API Gateway, we used &lt;b&gt;&lt;a href=&quot;https://oauth.net/2/&quot;&gt;OAuth 2.0&lt;/a&gt; Token Introspection &lt;/b&gt;API. You need host&amp;nbsp; &lt;b&gt;(&lt;a href=&quot;https://www.dropbox.com/s/6pm0ncvnrq8yeys/introspect.war?dl=0&quot;&gt;introspect.war&lt;/a&gt;)&lt;/b&gt; ​ that you need to deploy in IS.&amp;nbsp;&lt;/li&gt;&lt;li&gt;The source for this is found in &lt;u&gt;[&lt;b&gt;1]&lt;/b&gt; &lt;/u&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Extract the downloaded zip file to a convenient file location. This distributed folder (by default the folder name is wso2is-5.2.0​ ) will be referred to as  throughout the document.&lt;/li&gt;&lt;li&gt;Copy introspect.war file to &lt;b&gt;/repository/deployment/server/webapps&lt;/b&gt;location. In order to generate an access token we need to create an Oauth2 application and get client credentials from there&lt;/li&gt;&lt;li&gt;Start the server and login to the management console with admin:admin credentials. Steps to start the product are in [2]. Also you can find the complete installation guide in [3] Note : In order to be accessed by Amazon Gateway Lambda function, this up and running Identity Server should be hosted with a public URL 4. In the main menu in management console, click “Add” under Service Provider&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Give a Service Provider name and click Register. You will see the Service Provider&lt;br /&gt;Configuration page.&lt;/li&gt;&lt;li&gt;Expand Inbound Authentication Configuration​ panel.&lt;/li&gt;&lt;li&gt;Expand the OAuth/OpenID Connect Configuration​ and click Configure.&lt;/li&gt;&lt;li&gt;Fill in the form that appears. For the Allowed Grant Types​ you can disable the ones you do not require or wish to block.&lt;/li&gt;&lt;li&gt;Use following request to generate tokens with password grant type&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;Replace  and  values with admin. Replace  with Base64 encoded values &lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;-webkit-text-stroke-width: 0px; background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; margin: 0px 0px 1em; max-height: 600px; orphans: auto; overflow: auto; padding: 5px; text-align: left; text-indent: 0px; text-transform: none; widows: 1; width: auto; word-spacing: 0px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: #eff0f1; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;curl -k -d&lt;br /&gt;&quot;grant_type=password&amp;amp;username=&amp;lt;USERNAME&amp;gt;&amp;amp;password=&amp;lt;PASSWORD&amp;gt;&amp;amp;scope=&amp;lt;SCOPE&amp;gt;&quot;​ ​-H&lt;br /&gt;&quot;Authorization: Basic &amp;lt;ENCODED_KEY&amp;gt;&quot;​ ​-H &quot;Content-Type:&lt;br /&gt;application/x-www-form-urlencoded&quot;&lt;br /&gt;https://&amp;lt;IS_HOST&amp;gt;t:&amp;lt;IS_HTTPS_PORT&amp;gt;/oauth2/token&lt;/code&gt;&lt;/pre&gt;will have a response similar to,&lt;br /&gt;&lt;pre style=&quot;-webkit-text-stroke-width: 0px; background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; margin: 0px 0px 1em; max-height: 600px; orphans: auto; overflow: auto; padding: 5px; text-align: left; text-indent: 0px; text-transform: none; widows: 1; width: auto; word-spacing: 0px; word-wrap: normal;&quot;&gt;curl -k -d &quot;grant_type=password&amp;amp;username=admin&amp;amp;password=admin&amp;amp;scope=default &quot;​ ​-H&lt;br /&gt;&quot;Authorization: Basic&lt;br /&gt;X1ZpREJUMWJUSHF5eXFfR1Y0UWJoc0V6X1IwYTpLdzIxV1JPRmYyeTc4RGViMXY0UGpoRkdydGhq&quot;​ ​-H&lt;br /&gt;&quot;Content-Type: application/x-www-form-urlencoded&quot;&lt;br /&gt;https://localhost:9443/oauth2/token&lt;br /&gt;This will have a response similar to,&lt;br /&gt;{&lt;br /&gt; &quot;scope&quot;: &quot;default&quot;&lt;br /&gt; &quot;token_type&quot;: &quot;Bearer&quot;&lt;br /&gt; &quot;expires_in&quot;: 956&lt;br /&gt; &quot;refresh_token&quot;: &quot;23444-dff-32b0-b4cf-7dc7d8fd8205&quot;&lt;br /&gt; &quot;access_token&quot;: &quot;455533ed-d222-3b0e-9512-fec0b94c1592&quot;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; We will use this access_token value when invoking APIs in AWS side.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Configuring Amazon API Gateway&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Goto &lt;a href=&quot;https://aws.amazon.com/lambda/?sc_channel=PS&amp;amp;sc_campaign=acquisition_US&amp;amp;sc_publisher=bing&amp;amp;sc_medium=lambda_b&amp;amp;sc_content=lambda_e&amp;amp;sc_detail=aws%20lambda&amp;amp;sc_category=lambda&amp;amp;sc_segment=7011579310&amp;amp;sc_matchtype=e&amp;amp;sc_country=US&amp;amp;s_kwcid=AL!4422!10!7011579310!50088942451&amp;amp;ef_id=WAFYAgAABAJCWeHb:20161014225715:s&quot;&gt;Lambda&lt;/a&gt; console in Amazon API Gateway and create new Lambda function.&lt;/li&gt;&lt;/ul&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-I_PwB_RIEcI/WAFcZbznhuI/AAAAAAAAAuU/EWwZFmqgkRIW3BflJRe4jRvUABGae5ffACLcB/s1600/Snip20161014_61.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;209&quot; src=&quot;https://4.bp.blogspot.com/-I_PwB_RIEcI/WAFcZbznhuI/AAAAAAAAAuU/EWwZFmqgkRIW3BflJRe4jRvUABGae5ffACLcB/s640/Snip20161014_61.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt; &lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;This function should call Token Introspection API of WSO2 IS Server. I have attached a sample lambda function (&lt;a href=&quot;https://www.dropbox.com/s/a0bppvb9a59qbey/AWS_material.zip?dl=0&quot;&gt;Lambda.js&lt;/a&gt;) which is calling this API. You can copy the source of this file and&lt;/li&gt;&lt;/ul&gt;&lt;pre style=&quot;-webkit-text-stroke-width: 0px; background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; margin: 0px 0px 1em; max-height: 600px; orphans: auto; overflow: auto; padding: 5px; text-align: left; text-indent: 0px; text-transform: none; widows: 1; width: auto; word-spacing: 0px; word-wrap: normal;&quot;&gt;console.log(&#39;starting lambda&#39;);&lt;br /&gt;var http = require(&#39;http&#39;);&lt;br /&gt;exports.handler = function(event, context) {&lt;br /&gt;    var tkn = event.authorizationToken;&lt;br /&gt; var postData = &#39;token=&#39;+tkn;&lt;br /&gt; console.log(postData);&lt;br /&gt;&lt;br /&gt; var options = {&lt;br /&gt;   hostname: &#39;ip.address&#39;,&lt;br /&gt;   port: 9763,&lt;br /&gt;   path: &#39;/introspect&#39;,&lt;br /&gt;   method: &#39;POST&#39;,&lt;br /&gt;   headers: {&lt;br /&gt;     &#39;Content-Type&#39;: &#39;application/x-www-form-urlencoded&#39;&lt;br /&gt;   }&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; var req = http.request(options, (res) =&amp;gt; {&lt;br /&gt;   console.log(`STATUS: ${res.statusCode}`);&lt;br /&gt;   console.log(`HEADERS: ${JSON.stringify(res.headers)}`);&lt;br /&gt;   res.setEncoding(&#39;utf8&#39;);&lt;br /&gt;   res.on(&#39;data&#39;, (chunk) =&amp;gt; {&lt;br /&gt;     console.log(`BODY: ${JSON.stringify(chunk)}`);&lt;br /&gt;  validationReq(chunk,event,context);&lt;br /&gt;   });&lt;br /&gt;   res.on(&#39;end&#39;, () =&amp;gt; {&lt;br /&gt;     console.log(&#39;No more data in response.&#39;);&lt;br /&gt;   });&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; req.on(&#39;error&#39;, (e) =&amp;gt; {&lt;br /&gt;   console.log(`problem with request: ${e.message}`);&lt;br /&gt; });&lt;br /&gt;&lt;br /&gt; // write data to request body&lt;br /&gt; req.write(postData);&lt;br /&gt; req.end();&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;var validationReq = function (obj,evt,ctx) {&lt;br /&gt;    console.log(obj);&lt;br /&gt;    obj = JSON.parse(obj);&lt;br /&gt;&lt;br /&gt;    var bool = obj[&#39;active&#39;];&lt;br /&gt; if(bool) {&lt;br /&gt;     console.log(&#39;Token verified&#39;);&lt;br /&gt;     ctx.succeed(generatePolicy(&#39;user&#39;, &#39;Allow&#39;, evt.methodArn));&lt;br /&gt; } else {&lt;br /&gt;     ctx.fail(&quot;Unauthorized&quot;);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;var generatePolicy = function(principalId, effect, resource) {&lt;br /&gt;    var authResponse = {};&lt;br /&gt;    console.log(resource);&lt;br /&gt;    authResponse.principalId = principalId;&lt;br /&gt;    if (effect &amp;amp;&amp;amp; resource) {&lt;br /&gt;        var policyDocument = {};&lt;br /&gt;        policyDocument.Version = &#39;2012-10-17&#39;; // default version&lt;br /&gt;        policyDocument.Statement = [];&lt;br /&gt;        var statementOne = {};&lt;br /&gt;        statementOne.Action = &#39;execute-api:Invoke&#39;; // default action&lt;br /&gt;        statementOne.Effect = effect;&lt;br /&gt;        statementOne.Resource = resource;&lt;br /&gt;        policyDocument.Statement[0] = statementOne;&lt;br /&gt;        authResponse.policyDocument = policyDocument;&lt;br /&gt;    }&lt;br /&gt;    return authResponse;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-ERPgcU7yr0U/WAFcZfcnJkI/AAAAAAAAAuY/PyE8-Otd4Vg7UR0A_143tG1XxvKweBT6gCEw/s1600/Snip20161014_62.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;130&quot; src=&quot;https://1.bp.blogspot.com/-ERPgcU7yr0U/WAFcZfcnJkI/AAAAAAAAAuY/PyE8-Otd4Vg7UR0A_143tG1XxvKweBT6gCEw/s640/Snip20161014_62.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-TWFwYagExBw/WAFcZaJ0stI/AAAAAAAAAuc/pMC3osMsnlkO0bdK7j6UM6UkIti4Mus5ACEw/s1600/Snip20161014_63.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;368&quot; src=&quot;https://1.bp.blogspot.com/-TWFwYagExBw/WAFcZaJ0stI/AAAAAAAAAuc/pMC3osMsnlkO0bdK7j6UM6UkIti4Mus5ACEw/s640/Snip20161014_63.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Copy it as the Lambda function code. Note that you have to replace &lt;b&gt;&amp;lt;host_name of publiclyhosted wso2 is&amp;gt;&lt;/b&gt; and &lt;b&gt;&amp;lt;port of publicly hosted wso2 is&amp;gt; &lt;/b&gt;values with actual host and port before using it.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;Save the Lambda function.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Follow Configure Custom Authorizer Using the API Gateway Console ​in [&lt;span style=&quot;color: #0000ee;&quot;&gt;&lt;u&gt;1&lt;/u&gt;&lt;/span&gt;] When creating the custom authorizer, make sure you give Lamba Region and Lambda Function details according to the function you created in Step 1.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-39CvdA8nWPs/WAFfo3jUQLI/AAAAAAAAAus/dMAqVGulXwQ4xMaRJSZKtHcqhcE04YC2QCEw/s1600/Snip20161014_64.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;267&quot; src=&quot;https://2.bp.blogspot.com/-39CvdA8nWPs/WAFfo3jUQLI/AAAAAAAAAus/dMAqVGulXwQ4xMaRJSZKtHcqhcE04YC2QCEw/s640/Snip20161014_64.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-ZrJ_-gwfd50/WAFfoxiE-lI/AAAAAAAAAuw/0o6Abl7MJ2ophxnHflG7Yn6K7baJPg2WQCLcB/s1600/Snip20161014_65.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;219&quot; src=&quot;https://3.bp.blogspot.com/-ZrJ_-gwfd50/WAFfoxiE-lI/AAAAAAAAAuw/0o6Abl7MJ2ophxnHflG7Yn6K7baJPg2WQCLcB/s640/Snip20161014_65.png&quot; width=&quot;640&quot; /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-EJA7bXdq1z4/WAFfpFGdXWI/AAAAAAAAAu0/edfT70Qq5Xka1i1sYLeZ1c213JZEeWXKACLcB/s1600/Snip20161014_66.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;278&quot; src=&quot;https://3.bp.blogspot.com/-EJA7bXdq1z4/WAFfpFGdXWI/AAAAAAAAAu0/edfT70Qq5Xka1i1sYLeZ1c213JZEeWXKACLcB/s640/Snip20161014_66.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;After above configurations are done, you should have an API deployed in Amazon API&lt;/li&gt;&lt;li&gt;Gateway which is configured to use the custom authorizer which calls WSO2 IS to authorize.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Invoke this API giving the access_token obtained from WSO2 IS as the Identity token source header value you configured when above step.&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;Note:- How Please refer &lt;a href=&quot;https://github.com/facilelogin/aratuwa/tree/master/api-security/org.wso2.carbon.identity.oauth.introspectio&quot;&gt;OAuth 2.0 Token Introspection API for WSO2 Identity Server&lt;/a&gt; to understand how &lt;b&gt;&lt;a href=&quot;https://www.dropbox.com/s/6pm0ncvnrq8yeys/introspect.war?dl=0&quot;&gt;introspect&lt;/a&gt; &lt;/b&gt;API calls would validate the access tokens and responses&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&lt;div class=&quot;highlight highlight-source-js&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; line-height: 24px; margin-bottom: 16px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;pre style=&quot;background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: 1.45; margin-bottom: 0px; margin-top: 0px; overflow: auto; padding: 16px; word-break: normal; word-wrap: normal;&quot;&gt;Empty token&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;&lt;/span&gt;&lt;br /&gt;curl &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;k &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;H&lt;/span&gt; &lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&#39;&lt;/span&gt;Content-Type: application/x-www-form-urlencoded&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;X&lt;/span&gt; &lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;POST&lt;/span&gt; &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;--&lt;/span&gt;data &lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&#39;&lt;/span&gt;token=&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt; https&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pl-c&quot; style=&quot;box-sizing: border-box; color: #969896;&quot;&gt;//localhost:9443/introspect&lt;/span&gt;&lt;br /&gt;Response&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt; {&lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;active&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;false&lt;/span&gt;} &lt;/pre&gt;&lt;/div&gt;&lt;div class=&quot;highlight highlight-source-js&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; line-height: 24px; margin-bottom: 16px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;pre style=&quot;background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: 1.45; margin-bottom: 0px; margin-top: 0px; overflow: auto; padding: 16px; word-break: normal; word-wrap: normal;&quot;&gt;Invalid token&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt; &lt;br /&gt;curl &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;k &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;H&lt;/span&gt; &lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&#39;&lt;/span&gt;Content-Type: application/x-www-form-urlencoded&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;X&lt;/span&gt; &lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;POST&lt;/span&gt; &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;--&lt;/span&gt;data &lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&#39;&lt;/span&gt;token=Bjhk98792k9hkjhk&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt; https&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pl-c&quot; style=&quot;box-sizing: border-box; color: #969896;&quot;&gt;//localhost:9443/introspect &lt;/span&gt;&lt;br /&gt;Response&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt; {&lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;active&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;false&lt;/span&gt;,&lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;token_type&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;bearer&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;} &lt;/pre&gt;&lt;/div&gt;&lt;div class=&quot;highlight highlight-source-js&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Helvetica, Arial, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;; font-size: 16px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; line-height: 24px; margin-bottom: 16px; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;pre style=&quot;background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; font-family: Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: 1.45; margin-bottom: 0px; margin-top: 0px; overflow: auto; padding: 16px; word-break: normal; word-wrap: normal;&quot;&gt;Get a valid token&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt; &lt;br /&gt;curl &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;v &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;X&lt;/span&gt; &lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;POST&lt;/span&gt; &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;--&lt;/span&gt;basic &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;u client_id&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt;client_secret &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;H&lt;/span&gt; &lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;Content-Type: application/x-www-form-urlencoded;charset=UTF-8&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;k &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;d &lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;grant_type=client_credentials&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; https&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pl-c&quot; style=&quot;box-sizing: border-box; color: #969896;&quot;&gt;//localhost:9443/oauth2/token &lt;/span&gt;Validate the token&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt;&lt;br /&gt;curl &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;k &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;H&lt;/span&gt; &lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&#39;&lt;/span&gt;Content-Type: application/x-www-form-urlencoded&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;X&lt;/span&gt; &lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;POST&lt;/span&gt; &lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;--&lt;/span&gt;data &lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&#39;&lt;/span&gt;token=99f0a7092c71a6e772cbcf77addd39ea&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt; https&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pl-c&quot; style=&quot;box-sizing: border-box; color: #969896;&quot;&gt;//localhost:9443/introspect &lt;/span&gt;&lt;br /&gt;   Response&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt; &lt;br /&gt;   { &lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;username&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;admin@carbon.super&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;, &lt;br /&gt;     &lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;nbf&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;3272&lt;/span&gt;, &lt;br /&gt;     &lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;active&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pl-c1&quot; style=&quot;box-sizing: border-box; color: #0086b3;&quot;&gt;true&lt;/span&gt;, &lt;br /&gt;     &lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;token_type&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;bearer&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;, &lt;br /&gt;     &lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;client_id&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;pl-k&quot; style=&quot;box-sizing: border-box; color: #a71d5d;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pl-s&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;LUG28MI5yjL5dATxQWdYGhDLSywa&lt;span class=&quot;pl-pds&quot; style=&quot;box-sizing: border-box; color: #183691;&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;   } &lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;[1] &lt;a href=&quot;https://github.com/facilelogin/aratuwa/tree/master/api-security/org.wso2.carbon.identity.oauth.introspection&quot;&gt;https://github.com/facilelogin/aratuwa/tree/master/api-security/org.wso2.carbon.identity.oauth.introspection&lt;/a&gt;&lt;br /&gt;[2] &lt;a href=&quot;https://docs.wso2.com/display/IS520/Running+the+Product&quot;&gt;https://docs.wso2.com/display/IS520/Running+the+Product&lt;/a&gt;&lt;br /&gt;[3] &lt;a href=&quot;https://docs.wso2.com/display/IS520/Installation+Guide&quot;&gt;https://docs.wso2.com/display/IS520/Installation+Guide&lt;/a&gt;&lt;br /&gt;[4] &lt;a href=&quot;http://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html&quot;&gt;http://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/7208473791333919322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2016/10/wso2-is-with-amazon-api-gateway.html#comment-form' title='402 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/7208473791333919322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/7208473791333919322'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2016/10/wso2-is-with-amazon-api-gateway.html' title='Amazon API GW integration with WSO2 IS for OAuth 2.0 token validation'/><author><name>DUSHAN TECH VISION</name><uri>http://www.blogger.com/profile/01549659515037283808</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://4.bp.blogspot.com/-I_PwB_RIEcI/WAFcZbznhuI/AAAAAAAAAuU/EWwZFmqgkRIW3BflJRe4jRvUABGae5ffACLcB/s72-c/Snip20161014_61.png" height="72" width="72"/><thr:total>402</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-523820266556379521</id><published>2016-06-11T15:15:00.002-07:00</published><updated>2016-06-13T16:08:17.447-07:00</updated><title type='text'>IoT Use case WSO2</title><content type='html'>&lt;span id=&quot;goog_1753071517&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_1753071518&quot;&gt;&lt;/span&gt;In this blog, I thought of discussing kind of an interesting use case which involves communicating and managing alerts though the concept IoT (Internet Of Things)&lt;br /&gt;&lt;br /&gt;The use case which I&#39;m describing involve WSO2 middleware stack, before that lets try to understand use case first.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Story &lt;/b&gt;&lt;br /&gt;&amp;nbsp;A organization called &#39;Amber Shopping complex&#39; who is well reputed organization doing clothing business. Then recently their management decided to enhance the client experience and planning to bring more user friendly environment when a buyer enters in to the shop complex. So the concept is &#39;Amber&#39; publish advertisement on TV, News Papers asking to download newly developed mobile application. Since &#39;Amber&#39; is so&amp;nbsp; popular, all most all its buyer have download the mobile application.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Then, once users movies different parts of the shopping complex, the mobile device sending the notification to the &#39;Amber Shopping IT genius&#39;, so what will be happening after that you will be amazed.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Client going to buy shirts (which he has already search through mobile device), he received alters from to the mobile application asking his choices, and new arrivals to the store.&lt;/li&gt;&lt;li&gt;Client walking pass TV display guess what, the&amp;nbsp; TV display suddenly personalizing and start to show what he has preferred in the past and choices available and locations (&lt;a href=&quot;http://www.drnatalienews.com/blog/the-year-of-on-demand-personalized-shopping-the-cloud-and-iot-abound&quot;&gt;Digital Signage&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Client go to different section &quot;let say&quot; kid toys section, client received alerts to his mobile devices, the new toys arrived and prices&lt;/li&gt;&lt;/ul&gt;&amp;nbsp;... and many more other cool stuff... &lt;br /&gt;&lt;ul&gt;&lt;/ul&gt;&amp;nbsp;Let assume how we can achieve above use case, to accomplish this use case we are using&lt;br /&gt;WSO2 Iot Server , WSO2 CEP, WSO2 MB, WSO2 ESB,WSO2 APIM,WSO2 DAS&lt;br /&gt;&lt;br /&gt;I know most of you may already aware others products other than &lt;i&gt;WSO2 Iot server&lt;/i&gt; (which of cause yet to be released officially by WSO2), so let me give you a small introduction what WSO2 Iot Server (which is still at Alpha state), if anyone interest they could join to the beta program.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What is IoT server ?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&quot;WSO2 IoT Server (IoTS) is the core of WSO2&#39;s Open IoT Platform. It provides the capabilities required by device manufacturers and enterprises to build a complete IoT architecture around their connected device offering. Device manufactures are able to manage the device architecture from the server-side using WSO2 IoTS, extend the IoTS to any device type, and support other protocols and data formats as it runs on top of WSO2 Connected Device Management Framework (WSO2 CDMF).&lt;br /&gt;WSO2 IoTS offers customizable and advanced IoT device analytics via WSO2 Data Analytics Server that include predictive analytics using machine learning capabilities. It also supports edge computing devices, policy-based edge analytics, and pre-built instant visualization for sensor readings using live data streams gathered from devices.&lt;br /&gt;Take a look at the WSO2 IoT Server presentation on Your foundation for the Internet of things to expand your knowledge on IoTS. This is a great place for you to start if you are new to WSO2 IoTS.&quot;&lt;/i&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-V7haB9BQ9a0/V1yasTS0KJI/AAAAAAAAAqE/BVaGUy2lwnQlPelKlx0oHpeRjt6qxjZjACLcB/s1600/Sensor%2Bdata%2Bprocessing.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;442&quot; src=&quot;https://4.bp.blogspot.com/-V7haB9BQ9a0/V1yasTS0KJI/AAAAAAAAAqE/BVaGUy2lwnQlPelKlx0oHpeRjt6qxjZjACLcB/s640/Sensor%2Bdata%2Bprocessing.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If you need more information please visit [1]&lt;br /&gt;&lt;br /&gt;Now lets try to see how we could overcome the given use case, please see the below diagram which show complete interaction or solution architecture, that can be implemented to overcome the given use case.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Solution Architectural View&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-kivc5XgTV04/V12w_bcaeZI/AAAAAAAAAr4/-s_hW9jh8rQSdOZz2Eh52-TnoCk3pYzywCLcB/s1600/Iot-usecase-html.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;492&quot; src=&quot;https://2.bp.blogspot.com/-kivc5XgTV04/V12w_bcaeZI/AAAAAAAAAr4/-s_hW9jh8rQSdOZz2Eh52-TnoCk3pYzywCLcB/s640/Iot-usecase-html.jpg&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;Following diagram illustrating the complete interaction from device registration and alerting model would work&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Flow&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-M8LqaeHd-UA/V1zeeg2KO7I/AAAAAAAAArA/xWhQ2xrFEOYypvAB9cNBjfACSEvw0pnbACLcB/s1600/Untitled%2B%25283%2529.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;290&quot; src=&quot;https://1.bp.blogspot.com/-M8LqaeHd-UA/V1zeeg2KO7I/AAAAAAAAArA/xWhQ2xrFEOYypvAB9cNBjfACSEvw0pnbACLcB/s640/Untitled%2B%25283%2529.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;br /&gt;What we need to understand here is the role which WSO2 Iot server plays, i.e how it interacts with different modules to complete the user interaction, specially we have to isolate use experience for that, it is must that have to maintain a device in which client use along side with some other information.&lt;br /&gt;&lt;br /&gt;On the other hand, the for intercommunication,such as mobile devices to message broker we thought of using mqtt protocal (pub/sub)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why we need MQTT?&lt;/b&gt; ref [2]&lt;br /&gt;&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: Roboto,sans-serif; font-style: normal; font-variant: normal; font-weight: 300; letter-spacing: normal; line-height: 21.4286px; margin: 0px 0px 10px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;MQTT was developed by Andy Stanford-Clark (IBM) and Arlen Nipper (Eurotech; now Cirrus Link) in 1999 for the monitoring of an oil pipeline through the desert. The goals were to have a protocol, which is&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;box-sizing: border-box; font-weight: 500;&quot;&gt;bandwidth-efficient and uses little battery power&lt;/b&gt;, because the devices were connected via satellite link and this was extremely expensive at that time.&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;&lt;b style=&quot;box-sizing: border-box; font-weight: 500;&quot;&gt;The protocol uses a publish/subscribe architecture in contrast to HTTP with its request/response paradigm.&lt;/b&gt;Publish/Subscribe is event-driven and enables messages to be pushed to clients. The central communication point is the MQTT broker, it is in charge of dispatching all messages between the senders and the rightful receivers. Each client that publishes a message to the broker, includes a topic into the message.&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;box-sizing: border-box; font-weight: 500;&quot;&gt;The topic is the routing information for the broker.&lt;/b&gt;&lt;span class=&quot;Apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;Each client that wants to receive messages subscribes to a certain topic and the broker delivers all messages with the matching topic to the client. Therefore the clients don’t have to know each other, they only communicate over the topic. This architecture enables highly scalable solutions without dependencies between the data producers and the data consumers.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;b&gt;CEP role&lt;/b&gt;&lt;br /&gt;CEP (Complex event processor) plays equally important role in this design with its real time analysis capability while alerting other sub modules such as if client move one place to another, mobile device publishes GPS detail and CEP engine keep analyzing them and sends alerts to ESB, where it interact with other sub-modules. (please read [3] for more information)&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;b&gt;Finally&lt;/b&gt;&lt;br /&gt;If you need to write such requirement from the sketch, it would require a thousand lines of codes may be much more complicated interaction between system. But with above of cause with minimal effort you can simply build the integration layer.&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;&lt;i&gt; &lt;/i&gt;&lt;br /&gt;&lt;i&gt;[1]&lt;a href=&quot;https://docs.wso2.com/display/IoTS100/WSO2+IoT+Server&quot;&gt;https://docs.wso2.com/display/IoTS100/WSO2+IoT+Server&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;[2] &lt;a href=&quot;http://www.hivemq.com/blog/how-to-get-started-with-mqtt&quot;&gt;http://www.hivemq.com/blog/how-to-get-started-with-mqtt&amp;nbsp;&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;[3] &lt;a href=&quot;http://wso2.com/library/blog-post/2013/11/understanding-complex-event-processing-(cep)-operators-with-wso2-cep-(siddhi)/&quot;&gt;http://wso2.com/library/blog-post/2013/11/understanding-complex-event-processing-(cep)-operators-with-wso2-cep-(siddhi)/ &lt;/a&gt;&lt;/i&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/523820266556379521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2016/06/iot-use-case-wso2.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/523820266556379521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/523820266556379521'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2016/06/iot-use-case-wso2.html' title='IoT Use case WSO2'/><author><name>DUSHAN TECH VISION</name><uri>http://www.blogger.com/profile/01549659515037283808</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://4.bp.blogspot.com/-V7haB9BQ9a0/V1yasTS0KJI/AAAAAAAAAqE/BVaGUy2lwnQlPelKlx0oHpeRjt6qxjZjACLcB/s72-c/Sensor%2Bdata%2Bprocessing.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-6784578319490344273</id><published>2016-05-30T11:15:00.001-07:00</published><updated>2016-05-30T11:30:25.625-07:00</updated><title type='text'>Troubleshoot and understanding Puppet deployment</title><content type='html'>Following blog, I will try to describe the steps that you may need to follow up in order to setup a WSO2 product cluster quick time using Puppet scripts.&lt;br /&gt;&amp;nbsp; Basically, thought this is straight forward you may have to spent few minutes or&amp;nbsp; some time few hours to get firm to your self. Because if you just start to work these environments thing gonna be bit difficult. In this blog I try to target people who just started to work with puppet and of cause they may be face similar issues.&lt;br /&gt;&lt;br /&gt;For the ease of understanding, we have divided the instructions into 3 Tasks.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Step 1. Setup two instances&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Step 2. Setup Puppet Master and puppet agent&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Step 3. Perform a catalog run to configure product instance&lt;br /&gt;&lt;br /&gt;First of all lets try to understand puppet directory structure [1],basically, hiera structure defines the variable and parameters per environment per platform per product such as how it should populate while under module, the templates of each products defined with .erp &lt;br /&gt;&lt;br /&gt;If you refer below structure, you will notice something called &#39;hiera&#39;, the term we are using With Hiera, you can externalize your systems&#39; configuration data and easily understand how those values are assigned to your servers. With that data separated from your Puppet code, you then can encrypt sensitive values, such as passwords and keys [2]&lt;br /&gt;&lt;br /&gt;Once you navigate, please try to understand the project structure, in this case we are trying to prepare &#39;dev&#39; environment, so understanding hiera model is important.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;lets see how &lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;u&gt;hiera.yaml &lt;/u&gt;&lt;span style=&quot;color: black;&quot;&gt;definition looks&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;:hierarchy:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &quot;node/%{::clientcert}&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &quot;wso2/%{::product_name}/%{::product_version}/%{::platform}/%{::product_profile}&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &quot;wso2/%{::product_name}/%{::product_version}/%{::platform}/default&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &quot;osfamily/%{::osfamily}&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &quot;vm_type/%{::vm_type}&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &quot;platform/%{::platform}&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - wso2/common&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - common&lt;br /&gt;:backends:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - yaml&lt;br /&gt;:yaml:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; :datadir: &quot;/etc/puppet/hieradata/dev&quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;In above structure, it would explain how hiera would travel through, then extract variables to prepare the platform that you are running.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Let assume I need to run &lt;b&gt;api-store profile (APIM having store,publisher,gateway,key manager)&lt;/b&gt;, then once I initiate the product profile from &lt;u&gt;puppet agent&lt;/u&gt; (which I will explain later), when puppet agent communicates with puppet master, it would go through above mentioned hierarchy to resolve variables i.e &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #b45f06;&quot;&gt;api-store.yaml --&amp;gt; default.yaml--&amp;gt; common.yaml --&amp;gt; (root common) --&amp;gt;common.yaml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #b45f06;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;However, first of all we should install puppet do refer &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;[3]&lt;/span&gt;&lt;/b&gt;, follow the steps given&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #b45f06;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Sometimes you will not succeeded straightforward (As I was struggle for a while to establish connection between puppet agent and master, therefore if you have any trouble please do refer[4])&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #b45f06;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;From my personal&amp;nbsp; experience,the most common issue you will face&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #b45f06;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;background-color: #f3f3f3; color: #990000; font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;&lt;b&gt;err: Could not request certificate: No route to host - connect(2)&lt;/b&gt;&lt;/span&gt;&lt;br style=&quot;-webkit-text-stroke-width: 0px; background-color: #f3f3f3; color: #4c4c4c; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot; /&gt;&lt;span style=&quot;background-color: #f3f3f3; color: #4c4c4c; font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2px; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;&quot;&gt;Exiting; failed to retrieve certificate and waitforcert is disabled&lt;/span&gt;&amp;nbsp;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;I would say, if you need to resolve this, you don&#39;t need to fiddle around much&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;There are few steps you need to verify,&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Step-1&lt;/u&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Please make sure &lt;b&gt;/etc/hosts&lt;/b&gt; files of both nodes as given below, make sure you gave &lt;b&gt;puppet master host name correctly&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;u&gt;Puppet master&lt;/u&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;/etc/hosts&lt;/span&gt;&lt;br /&gt;127.0.0.1 localhost&lt;br /&gt;&lt;b&gt;127.0.0.1 &lt;span style=&quot;color: red;&quot;&gt;puppet puppetmaster&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;/etc/hostname&lt;/span&gt;&lt;br /&gt;puppetmaster &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;u&gt;Puppet Agent&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;/etc/hosts&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;u&gt; &lt;/u&gt;&lt;br /&gt;127.0.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; localhost&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;[IP-address of puppetmaster] &amp;nbsp;&amp;nbsp;&amp;nbsp; puppetmaster&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;[IP-address of agent] &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Agent-hostage]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;u&gt;Step-2&lt;/u&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;Verify at puppet agent the &lt;b&gt;puppet.conf&lt;/b&gt; file under /etc/puppet/,&amp;nbsp; the only thing you need to focus [agent] tag and verify the server mapping as highlighted below&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;[main]&lt;br /&gt;logdir=/var/log/puppet&lt;br /&gt;vardir=/var/lib/puppet&lt;br /&gt;ssldir=/var/lib/puppet/ssl&lt;br /&gt;rundir=/var/run/puppet&lt;br /&gt;factpath=$vardir/lib/facter&lt;br /&gt;templatedir=$confdir/templates&lt;br /&gt;prerun_command=/etc/puppet/etckeeper-commit-pre&lt;br /&gt;postrun_command=/etc/puppet/etckeeper-commit-post&lt;br /&gt;&lt;br /&gt;[master]&lt;br /&gt;# These are needed when the puppetmaster is run by passenger&lt;br /&gt;# and can safely be removed if webrick is used.&lt;br /&gt;ssl_client_header = SSL_CLIENT_S_DN&lt;br /&gt;ssl_client_verify_header = SSL_CLIENT_VERIFY&lt;br /&gt;&lt;br /&gt;[agent]&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;server=puppetmaster&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Step3&lt;/u&gt;&lt;br /&gt;Then at puppet master, /puppet/hieradata/dev/wso2/common.yaml, please check following entry&lt;br /&gt;&lt;br /&gt;&amp;nbsp;# Host mapping to be made in etc/hosts&lt;br /&gt;wso2::hosts_mapping:&lt;br /&gt;&amp;nbsp; localhost:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip_address: 127.0.0.1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostname: localhost&lt;br /&gt;&amp;nbsp; puppetmaster :&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: red;&quot;&gt;ip_address : &lt;b&gt;[puppet-master-ip]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostname : puppetmaster&lt;/span&gt;&lt;br /&gt;&amp;nbsp; pub.am.wso2.com :&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip_address : &lt;b&gt;[agent-ip]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostname :&lt;b&gt; [agent-hostname]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;** Make to give correct information under host name, as these gonna replace /etc/hosts&amp;nbsp; mapping during run time, else thing gonna break up while scripts running &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Step4&lt;/u&gt;&lt;br /&gt;&amp;nbsp;Check&lt;b&gt; puppet.conf&lt;/b&gt; under &lt;b&gt;puppet master &lt;/b&gt;&quot;puppet/puppet.conf&quot;, please make sure it has &lt;span style=&quot;color: red;&quot;&gt;&quot;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;autosign=true&quot;&lt;/span&gt; &lt;/b&gt;which required for certification &lt;b&gt;signing for proper master-agent communication&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;[main]&lt;br /&gt;logdir=/var/log/puppet&lt;br /&gt;vardir=/var/lib/puppet&lt;br /&gt;ssldir=/var/lib/puppet/ssl&lt;br /&gt;rundir=/var/run/puppet&lt;br /&gt;#factpath=$vardir/lib/facter&lt;br /&gt;templatedir=$confdir/templates&lt;br /&gt;dns_alt_names=puppetmaster,puppet&lt;br /&gt;hiera_config = /etc/puppet/hiera.yaml&lt;br /&gt;&lt;br /&gt;[master]&lt;br /&gt;# These are needed when the puppetmaster is run by passenger&lt;br /&gt;# and can safely be removed if webrick is used.&lt;br /&gt;ssl_client_header = SSL_CLIENT_S_DN &lt;br /&gt;ssl_client_verify_header = SSL_CLIENT_VERIFY&lt;br /&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;b&gt;autosign=true&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you verify above given steps carefully, you should execute following command; &lt;br /&gt;&lt;br /&gt;&lt;u&gt;&amp;nbsp;Puppet Master&lt;/u&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;puppet cert clean —all&lt;/li&gt;&lt;li&gt;&amp;nbsp;service puppetmaster restart&lt;/li&gt;&lt;li&gt;** If you need to see whats going inside puppet master, then you can start &lt;b&gt;&quot;puppet master --no-daemonize --debug&quot;&lt;/b&gt;&lt;/li&gt;&lt;/ol&gt;&lt;u&gt;Puppet Agent&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&quot;find /var/lib/puppet/ssl -name &#39;*.pem&#39; -exec rm {} \;&quot;&amp;nbsp; (to clean up invalid certificates)&lt;/li&gt;&lt;li&gt;puppet agent -t —debug&amp;nbsp; (to establish master-agent connection)&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/li&gt;&lt;/ul&gt;&lt;u&gt;Puppet Agent run time&lt;/u&gt;&lt;br /&gt;Once verify above, then just run &lt;b&gt;setup.sh&lt;/b&gt;, which should start to deploy agent profile while communicating with master&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;deployment.cofig&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;product_name=wso2am&amp;nbsp;&amp;nbsp; // defines the product type&lt;br /&gt;product_version=1.10.0&amp;nbsp; //define the product version&lt;br /&gt;product_profile=default&amp;nbsp; //defines the profiles&lt;br /&gt;environment=dev&amp;nbsp; // the environment&lt;br /&gt;vm_type=openstack&lt;br /&gt;platform=default&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;setup.sh&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;echo &quot;#####################################################&quot;&lt;br /&gt;echo &quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Starting cleanup &quot;&lt;br /&gt;echo &quot;#####################################################&quot;&lt;br /&gt;ps aux | grep -i wso2 | awk {&#39;print $2&#39;} | xargs kill -9&lt;br /&gt;#rm -rf /mnt/*&lt;br /&gt;sed -i &#39;/environment/d&#39; /etc/puppet/puppet.conf&lt;br /&gt;echo &quot;#####################################################&quot;&lt;br /&gt;echo &quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Setting up environment &quot;&lt;br /&gt;echo &quot;#####################################################&quot;&lt;br /&gt;rm -f /etc/facter/facts.d/deployment_pattern.txt&lt;br /&gt;mkdir -p /etc/facter/facts.d&lt;br /&gt;&lt;br /&gt;while read -r line; do declare&amp;nbsp; $line; done &amp;lt; deployment.conf&lt;br /&gt;echo &quot;reading....&quot;&lt;br /&gt;echo product_name=$product_name product_version=$product_version product_profile=$product_profile&lt;br /&gt;echo product_name=$product_name &amp;gt;&amp;gt; /etc/facter/facts.d/deployment_pattern.txt&lt;br /&gt;echo product_version=$product_version &amp;gt;&amp;gt; /etc/facter/facts.d/deployment_pattern.txt&lt;br /&gt;echo product_profile=$product_profile &amp;gt;&amp;gt; /etc/facter/facts.d/deployment_pattern.txt&lt;br /&gt;echo vm_type=$vm_type &amp;gt;&amp;gt; /etc/facter/facts.d/deployment_pattern.txt&lt;br /&gt;echo environment=$environment &amp;gt;&amp;gt; /etc/facter/facts.d/deployment_pattern.txt&lt;br /&gt;echo platform=$platform &amp;gt;&amp;gt; /etc/facter/facts.d/deployment_pattern.txt&lt;br /&gt;&lt;br /&gt;echo &quot;reading end&quot;&lt;br /&gt;&lt;br /&gt;echo &quot;#####################################################&quot;&lt;br /&gt;echo &quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Installing &quot;&lt;br /&gt;echo &quot;#####################################################&quot;&lt;br /&gt;&lt;br /&gt;puppet agent --enable&lt;br /&gt;puppet agent -vt&lt;br /&gt;puppet agent --disable&lt;br /&gt;&lt;br /&gt;Please use [5] to download the puppet-master module which I have used to config, but there you have to copy JDK, products etc &lt;br /&gt;&lt;br /&gt;[1]&lt;br /&gt;├── LICENSE&lt;br /&gt;├── README.md&lt;br /&gt;├── &lt;span style=&quot;color: #cc0000;&quot;&gt;hiera.yaml&lt;/span&gt;&lt;br /&gt;├── hieradata&lt;br /&gt;│&amp;nbsp;&amp;nbsp; └── dev&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── common.yaml&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── platform&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── kubernetes.yaml&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── vm_type&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── docker.yaml&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; └── wso2&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── &lt;b&gt;&lt;span style=&quot;color: #990000;&quot;&gt;common.yaml&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── wso2am&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── 1.10.0&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── default&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── api-key-manager.yaml&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── api-publisher.yaml&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── api-store.yaml&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── default.yaml&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── gateway-manager.yaml&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── gateway-worker.yaml&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── kubernetes&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── api-key-manager.yaml&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── api-publisher.yaml&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── api-store.yaml&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── default.yaml&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── gateway-manager.yaml&lt;br /&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; └── gateway-worker.yaml&lt;br /&gt;├── manifests&lt;br /&gt;│&amp;nbsp;&amp;nbsp; └── site.pp&lt;br /&gt;├── modules&lt;br /&gt;│&amp;nbsp;&amp;nbsp; ├── java&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── LICENSE&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── Modulefile&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── README.markdown&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── manifests&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── init.pp&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── setup.pp&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── metadata.json&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── spec&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── spec.opts&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── spec_helper.rb&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── tests&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; └── init.pp&lt;br /&gt;│&amp;nbsp;&amp;nbsp; ├── wso2am&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── README.md&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── files&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── configs&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── repository&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; └── components&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── dropins&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; └── lib&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── patches&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── repository&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; └── components&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; └── patches&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── system&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └──&lt;b&gt; wso2am-1.10.0.zip&lt;/b&gt;&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── manifests&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── init.pp&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── metadata.json&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── templates&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── 1.10.0&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── bin&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── ciphertool.sh.erb&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── wso2server.sh.erb&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── password-tmp.erb&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── repository&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; └── conf&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── api-manager.xml.erb&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── axis2&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── axis2.xml.erb&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── carbon.xml.erb&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── datasources&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── am-datasources.xml.erb&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── master-datasources.xml.erb&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── identity&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── identity.xml.erb&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── registry.xml.erb&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── security&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; ├── cipher-text.properties.erb&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── cipher-tool.properties.erb&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ├── tomcat&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp; └── catalina-server.xml.erb&lt;br /&gt;│&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; └── user-mgt.xml.erb&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[2] &lt;a href=&quot;http://www.linuxjournal.com/content/using-hiera-puppet&quot;&gt;http://www.linuxjournal.com/content/using-hiera-puppet&lt;/a&gt;&lt;br /&gt;[3] &lt;a href=&quot;https://github.com/wso2/puppet-modules/wiki/Use-WSO2-Puppet-Modules-in-puppet-master-agent-Environment&quot;&gt;https://github.com/wso2/puppet-modules/wiki/Use-WSO2-Puppet-Modules-in-puppet-master-agent-Environment&lt;/a&gt;&lt;br /&gt;[4] &lt;a href=&quot;http://suhan-opensource.blogspot.com/2014/10/puppet-master-agent-communication-errors.html&quot;&gt;http://suhan-opensource.blogspot.com/2014/10/puppet-master-agent-communication-errors.html&lt;/a&gt;&lt;br /&gt;[5]&lt;a href=&quot;https://www.dropbox.com/s/6sljlbj1bop46lx/puppet.zip?dl=0&quot;&gt; https://www.dropbox.com/s/6sljlbj1bop46lx/puppet.zip?dl=0 &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/6784578319490344273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2016/05/how-to-configure-puppet-modules-in.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/6784578319490344273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/6784578319490344273'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2016/05/how-to-configure-puppet-modules-in.html' title='Troubleshoot and understanding Puppet deployment'/><author><name>DUSHAN TECH VISION</name><uri>http://www.blogger.com/profile/01549659515037283808</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-986173745293832772</id><published>2016-05-27T13:04:00.004-07:00</published><updated>2016-05-30T11:32:37.091-07:00</updated><title type='text'>WSO2 ESB Accessing application/x-www-form-urlencoded Data</title><content type='html'>&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;u&gt;&lt;b&gt;Problem:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, &#39;Helvetica Neue&#39;, Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19.5px; margin: 0px 0px 1em; orphans: auto; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;I want to pass application/x-www-form-urlencoded data to the ESB:&lt;/div&gt;&lt;pre style=&quot;-webkit-text-stroke-width: 0px; background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; margin: 0px 0px 1em; max-height: 600px; orphans: auto; overflow: auto; padding: 5px; text-align: left; text-indent: 0px; text-transform: none; widows: 1; width: auto; word-spacing: 0px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: #eff0f1; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;curl -v -X POST &#39;http://myhost/myapi/stuff&#39; -d &#39;myvar=hello&#39; -H &quot;Content-Type: application/x-www-form-urlencoded&quot;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, &#39;Helvetica Neue&#39;, Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19.5px; margin: 0px 0px 1em; orphans: auto; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;...and then be able to receive each form variable in my ESB API .&lt;/div&gt;&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, &#39;Helvetica Neue&#39;, Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19.5px; margin: 0px 0px 1em; orphans: auto; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;To get a given variable, I&#39;m doing this:&lt;/div&gt;&lt;pre style=&quot;-webkit-text-stroke-width: 0px; background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; margin: 0px 0px 1em; max-height: 600px; orphans: auto; overflow: auto; padding: 5px; text-align: left; text-indent: 0px; text-transform: none; widows: 1; width: auto; word-spacing: 0px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: #eff0f1; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&amp;lt;resource methods=&quot;POST&quot; uri-template=&quot;/stuff&quot;&amp;gt;&lt;br /&gt;      &amp;lt;inSequence&amp;gt;&lt;br /&gt;         &amp;lt;property name=&quot;myvar&quot; expression=&quot;//xformValues//myvar/text()&quot;&amp;gt;&amp;lt;/property&amp;gt;&lt;br /&gt;...&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, &#39;Helvetica Neue&#39;, Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19.5px; margin: 0px 0px 1em; orphans: auto; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;Then I&#39;m storing that in an argument:&lt;/div&gt;&lt;pre style=&quot;-webkit-text-stroke-width: 0px; background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; margin: 0px 0px 1em; max-height: 600px; orphans: auto; overflow: auto; padding: 5px; text-align: left; text-indent: 0px; text-transform: none; widows: 1; width: auto; word-spacing: 0px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: #eff0f1; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&amp;lt;args&amp;gt;&lt;br /&gt;   &amp;lt;arg evaluator=&quot;xml&quot; expression=&quot;$ctx:myvar&quot;&amp;gt;&amp;lt;/arg&amp;gt;&lt;br /&gt;&amp;lt;/args&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, &#39;Helvetica Neue&#39;, Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19.5px; margin: 0px 0px 1em; orphans: auto; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;Then I&#39;m later trying to stuff it in a payload with $1.&lt;/div&gt;&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, &#39;Helvetica Neue&#39;, Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19.5px; margin: 0px 0px 1em; orphans: auto; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;I know that the issue is with the property line:&lt;/div&gt;&lt;pre style=&quot;-webkit-text-stroke-width: 0px; background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; margin: 0px 0px 1em; max-height: 600px; orphans: auto; overflow: auto; padding: 5px; text-align: left; text-indent: 0px; text-transform: none; widows: 1; width: auto; word-spacing: 0px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: #eff0f1; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&amp;lt;property name=&quot;myvar&quot; expression=&quot;//xformValues//myvar/text()&quot;&amp;gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, &#39;Helvetica Neue&#39;, Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19.5px; margin: 0px 0px 1em; orphans: auto; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;...because if I store a literal value in the line, it will work.&lt;/div&gt;&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, &#39;Helvetica Neue&#39;, Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19.5px; margin: 0px 0px 1em; orphans: auto; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;I do have the messageReceiver configured in the axis.xml:&lt;/div&gt;&lt;pre style=&quot;-webkit-text-stroke-width: 0px; background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; margin: 0px 0px 1em; max-height: 600px; orphans: auto; overflow: auto; padding: 5px; text-align: left; text-indent: 0px; text-transform: none; widows: 1; width: auto; word-spacing: 0px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: #eff0f1; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&amp;lt;messageFormatter contentType=&quot;application/x-www-form-urlencoded&quot;&lt;br /&gt;    class=&quot;org.apache.axis2.transport.http.XFormURLEncodedFormatter&quot;/&amp;gt;&lt;br /&gt;&amp;lt;messageFormatter contentType=&quot;multipart/form-data&quot;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, &#39;Helvetica Neue&#39;, Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19.5px; margin: 0px 0px 1em; orphans: auto; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;And, I have the messageBuilder configured in the axis.xml file:&lt;/div&gt;&lt;pre style=&quot;-webkit-text-stroke-width: 0px; background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; margin: 0px 0px 1em; max-height: 600px; orphans: auto; overflow: auto; padding: 5px; text-align: left; text-indent: 0px; text-transform: none; widows: 1; width: auto; word-spacing: 0px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background-color: #eff0f1; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&amp;lt;messageBuilder contentType=&quot;application/x-www-form-urlencoded&quot;&lt;br /&gt;    class=&quot;org.apache.synapse.commons.builders.XFormURLEncodedBuilder&quot;/&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, &#39;Helvetica Neue&#39;, Helvetica, sans-serif; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 19.5px; margin: 0px 0px 1em; orphans: auto; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;&lt;u&gt;&lt;b&gt;ANSWER : Just use&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;&lt;pre style=&quot;-webkit-text-stroke-width: 0px; background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; margin: 0px 0px 1em; max-height: 600px; orphans: auto; overflow: auto; padding: 5px; text-align: left; text-indent: 0px; text-transform: none; widows: 1; width: auto; word-spacing: 0px; word-wrap: normal;&quot;&gt;&lt;b&gt;&lt;code style=&quot;background-color: #eff0f1; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;`&amp;lt;property name=&quot;myvar&quot; expression=&quot;//myvar/text()&quot;/&amp;gt;`&lt;/code&gt;&lt;/b&gt;&lt;/pre&gt;&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: whitesmoke; color: #333333; font-family: Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20px; margin: 10px 0px 0px; orphans: auto; padding: 0px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;e.g&lt;br /&gt;&lt;ins&gt;wire logs&lt;/ins&gt;&lt;/div&gt;&lt;div class=&quot;code panel&quot; style=&quot;-webkit-text-stroke-width: 0px; background: rgb(245, 245, 245); border-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.33333; margin: 9px 0px; orphans: auto; padding: 0px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot; style=&quot;margin: 0px; padding: 9px 12px;&quot;&gt;&lt;pre class=&quot;code-java&quot; style=&quot;margin: 0px; max-height: 30em; overflow: auto; padding: 0px; white-space: pre-wrap; word-wrap: normal;&quot;&gt;[2016-05-27 12:59:22,160] DEBUG - wire &amp;gt;&amp;gt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;POST /foo123 HTTP/1.1[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,161] DEBUG - wire &amp;gt;&amp;gt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;User-Agent: curl/7.37.1[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,161] DEBUG - wire &amp;gt;&amp;gt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;Host: 192.168.56.1:8280[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,161] DEBUG - wire &amp;gt;&amp;gt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;Accept: */*[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,161] DEBUG - wire &amp;gt;&amp;gt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;Authorization: Basic QU93ZmJQRW5YcXVDVnhIS1ZZT2ZlVFQxT01NYTpEeGpBY3dodFB5Wm5JTU9CZmJEakRHc21FQjBh[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,161] DEBUG - wire &amp;gt;&amp;gt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;Content-Type: application/x-www-form-urlencoded;charset=UTF-8[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,161] DEBUG - wire &amp;gt;&amp;gt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;Content-Length: 135[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,161] DEBUG - wire &amp;gt;&amp;gt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,161] DEBUG - wire &amp;gt;&amp;gt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;grant_type=authorization_code&amp;amp;code=291a24141f1e3332baf9799c4c378033&amp;amp;redirect_uri=https:&lt;span class=&quot;code-comment&quot; style=&quot;color: grey;&quot;&gt;//identity.qa.example.com/playground2/oauth2.jsp&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;[2016-05-27 12:59:22,163] DEBUG - LogMediator Start : Log mediator&lt;br /&gt;[2016-05-27 12:59:22,163]  INFO - LogMediator To: /foo123, MessageID: urn:uuid:c20f24d4-668d-447e-9de0-dbe5885b6d16, Direction: request&lt;br /&gt;[2016-05-27 12:59:22,164] DEBUG - LogMediator End : Log mediator&lt;br /&gt;[2016-05-27 12:59:22,164] DEBUG - LogMediator Start : Log mediator&lt;br /&gt;[2016-05-27 12:59:22,164]  INFO - LogMediator payload = &amp;lt;mediate&amp;gt;&amp;lt;code&amp;gt;291a24141f1e3332baf9799c4c378033&amp;lt;/code&amp;gt;&amp;lt;redirect_uri&amp;gt;https:&lt;span class=&quot;code-comment&quot; style=&quot;color: grey;&quot;&gt;//identity.qa.example.com/playground2/oauth2.jsp&amp;lt;/redirect_uri&amp;gt;&amp;lt;grant_type&amp;gt;authorization_code&amp;lt;/grant_type&amp;gt;&amp;lt;/mediate&amp;gt;,code = 291a24141f1e3332baf9799c4c378033&lt;br /&gt;&lt;/span&gt;[2016-05-27 12:59:22,164] DEBUG - LogMediator End : Log mediator&lt;br /&gt;[2016-05-27 12:59:22,165] DEBUG - wire &amp;lt;&amp;lt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;HTTP/1.1 200 OK[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,165] DEBUG - wire &amp;lt;&amp;lt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;Authorization: Basic QU93ZmJQRW5YcXVDVnhIS1ZZT2ZlVFQxT01NYTpEeGpBY3dodFB5Wm5JTU9CZmJEakRHc21FQjBh[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,166] DEBUG - wire &amp;lt;&amp;lt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;Host: 192.168.56.1:8280[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,166] DEBUG - wire &amp;lt;&amp;lt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;Content-Type: application/x-www-form-urlencoded;charset=UTF-8[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,166] DEBUG - wire &amp;lt;&amp;lt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;Accept: */*[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,166] DEBUG - wire &amp;lt;&amp;lt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;Date: Fri, 27 May 2016 19:59:22 GMT[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,166] DEBUG - wire &amp;lt;&amp;lt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;Server: WSO2-PassThrough-HTTP[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,166] DEBUG - wire &amp;lt;&amp;lt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;Transfer-Encoding: chunked[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,166] DEBUG - wire &amp;lt;&amp;lt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,166] DEBUG - wire &amp;lt;&amp;lt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;91[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,166] DEBUG - wire &amp;lt;&amp;lt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;code=291a24141f1e3332baf9799c4c378033&amp;amp;redirect_uri=https%3A%2F%2Fidentity.qa.example.com%2Fplayground2%2Foauth2.jsp&amp;amp;grant_type=authorization_code[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,166] DEBUG - wire &amp;lt;&amp;lt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;0[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;[2016-05-27 12:59:22,167] DEBUG - wire &amp;lt;&amp;lt; &lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;[\r][\n]&quot;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;-webkit-text-stroke-width: 0px; background-color: whitesmoke; color: #333333; font-family: Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 20px; margin: 10px 0px 0px; orphans: auto; padding: 0px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;&lt;ins&gt;API&lt;/ins&gt;&lt;/div&gt;&lt;div class=&quot;code panel&quot; style=&quot;-webkit-text-stroke-width: 0px; background: rgb(245, 245, 245); border-radius: 3px; border: 1px solid rgb(204, 204, 204); color: #333333; font-family: monospace; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 1.33333; margin: 9px 0px; orphans: auto; padding: 0px; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot; style=&quot;margin: 0px; padding: 9px 12px;&quot;&gt;&lt;pre class=&quot;code-java&quot; style=&quot;margin: 0px; max-height: 30em; overflow: auto; padding: 0px; white-space: pre-wrap; word-wrap: normal;&quot;&gt;&amp;lt;api xmlns=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;http:&lt;span class=&quot;code-comment&quot; style=&quot;color: grey;&quot;&gt;//ws.apache.org/ns/synapse&quot;&lt;/span&gt; name=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;foo123&quot;&lt;/span&gt; context=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;/foo123&quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;   &amp;lt;resource methods=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;POST&quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;      &amp;lt;inSequence&amp;gt;&lt;br /&gt;         &amp;lt;log&amp;gt;&amp;lt;/log&amp;gt;&lt;br /&gt;         &amp;lt;property name=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;payload&quot;&lt;/span&gt; expression=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;&lt;span class=&quot;code-comment&quot; style=&quot;color: grey;&quot;&gt;//mediate&quot;&lt;/span&gt;&amp;gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;/span&gt;         &amp;lt;property name=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;code&quot;&lt;/span&gt; expression=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;&lt;span class=&quot;code-comment&quot; style=&quot;color: grey;&quot;&gt;//mediate/code&quot;&lt;/span&gt;&amp;gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;/span&gt;         &amp;lt;log level=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;custom&quot;&lt;/span&gt; separator=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;,&quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;            &amp;lt;property name=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;payload&quot;&lt;/span&gt; expression=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;$ctx:payload&quot;&lt;/span&gt;&amp;gt;&amp;lt;/property&amp;gt;&lt;br /&gt;            &amp;lt;property name=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;code&quot;&lt;/span&gt; expression=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;$ctx:code&quot;&lt;/span&gt;&amp;gt;&amp;lt;/property&amp;gt;&lt;br /&gt;         &amp;lt;/log&amp;gt;&lt;br /&gt;         &amp;lt;respond&amp;gt;&amp;lt;/respond&amp;gt;&lt;br /&gt;      &amp;lt;/inSequence&amp;gt;&lt;br /&gt;   &amp;lt;/resource&amp;gt;&lt;br /&gt;&amp;lt;/api&amp;gt;&lt;br /&gt; &lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/986173745293832772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2016/05/wso2-esb-accessing-applicationx-www.html#comment-form' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/986173745293832772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/986173745293832772'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2016/05/wso2-esb-accessing-applicationx-www.html' title='WSO2 ESB Accessing application/x-www-form-urlencoded Data'/><author><name>DUSHAN TECH VISION</name><uri>http://www.blogger.com/profile/01549659515037283808</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-4306452693535290586</id><published>2016-05-11T12:40:00.001-07:00</published><updated>2016-05-15T10:07:40.985-07:00</updated><title type='text'>WSO2 IS SSO with .NET application</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;In this blog, I would like to discuss another common case which, I couldn&#39;t find many entries in explaining how to integrate WSO2 Identity Server with .NET web application.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;There are different types of 3rd party components available but out of that thought of demonstrating&amp;nbsp;the demo with&amp;nbsp;&lt;u&gt;Component Space&lt;/u&gt; [1] which provides a comprehensive framework to implement SSO solutions and the demonstration was prepared with using those references.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;I will use some steps (with images) to demonstrate how easily could integrate, the sample code can be &lt;a href=&quot;https://www.dropbox.com/s/jfik1852xdhf342/SAML2ServiceProvider.zip?dl=0&quot;&gt;download [3] &lt;/a&gt;and you could easily open up .NET IDE so, you can customize it according to your preference.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;First, you should register .NET web application you have written as a service provider, you can customize SP parameters such as assertion encryption, SLO settings according to your preference. (I would assume at this point you may have covered fundamentals of WSO2 Identity server, such as registering Sevice Provide (SP), Identity Provider (IP) and other basic fundamentals, if not recommendation&amp;nbsp;is to go through [2]&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-uYkxQeL6aLQ/Vzim0OkxOEI/AAAAAAAAAm4/SBC4PNhNWNITXhroHwMJA99NPq6F20stQCKgB/s1600/Snip20160515_112.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;448&quot; src=&quot;https://2.bp.blogspot.com/-uYkxQeL6aLQ/Vzim0OkxOEI/AAAAAAAAAm4/SBC4PNhNWNITXhroHwMJA99NPq6F20stQCKgB/s640/Snip20160515_112.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Then, you have to customize the SSO web app settings under web.config&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;pre class=&quot;code-java&quot; style=&quot;background-color: whitesmoke; color: #333333; font-size: 12px; line-height: 16px; max-height: 30em; overflow: auto; padding: 0px; white-space: pre-wrap; word-wrap: normal;&quot;&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;  &amp;lt;appSettings&amp;gt;&lt;br /&gt;    &amp;lt;add key=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;idpssoURL&quot;&lt;/span&gt; value=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;https:&lt;span class=&quot;code-comment&quot; style=&quot;color: grey;&quot;&gt;//localhost:9443/samlsso&quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;    &amp;lt;add key=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;idpArtifactResponderURL&quot;&lt;/span&gt; value=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;http:&lt;span class=&quot;code-comment&quot; style=&quot;color: grey;&quot;&gt;//localhost:51394/SAML2IdentityProvider/SAML/ArtifactResponder.aspx&quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt;    &amp;lt;add key=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;idpLogoutURL&quot;&lt;/span&gt; value=&lt;span class=&quot;code-quote&quot; style=&quot;color: #009100;&quot;&gt;&quot;https:&lt;span class=&quot;code-comment&quot; style=&quot;color: grey;&quot;&gt;//localhost:9443/samlsso&quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&lt;/span&gt; &amp;lt;/appSettings&amp;gt;&lt;br /&gt;&amp;lt;connectionStrings/&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-dnUTBvyV22c/Vzim_x17rbI/AAAAAAAAAm8/kcdqL-SeY7MgOcSYQ4LslupUcY8Zg2baQCLcB/s1600/Snip20160515_113.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;284&quot; src=&quot;https://1.bp.blogspot.com/-dnUTBvyV22c/Vzim_x17rbI/AAAAAAAAAm8/kcdqL-SeY7MgOcSYQ4LslupUcY8Zg2baQCLcB/s640/Snip20160515_113.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Once you do all the required modifications at SSO web app, then when deploying to IIS server, during initial startup it would ask the way SSOSAMLRequest should have generated, this is customizable, which means you don&#39;t need to expose to the actual client but for development perspective, you can play around with different options available.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-klvcR3uUQ24/VzinGo9uNoI/AAAAAAAAAnE/qeWcDXM15mg-SQTMOCKKQGXu8tzIRKPhQCLcB/s1600/Snip20150602_31.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;348&quot; src=&quot;https://2.bp.blogspot.com/-klvcR3uUQ24/VzinGo9uNoI/AAAAAAAAAnE/qeWcDXM15mg-SQTMOCKKQGXu8tzIRKPhQCLcB/s640/Snip20150602_31.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;The next step would be, when you click &quot;continue&quot; button, it would direct you to IS SSO login page as depicted below.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://4.bp.blogspot.com/-0gHFGsRNJ6w/VzinG__fxII/AAAAAAAAAnI/saW-tkPSe5grWoqASpK0zDVcFw0JOBt4gCLcB/s1600/Snip20150602_32.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://4.bp.blogspot.com/-0gHFGsRNJ6w/VzinG__fxII/AAAAAAAAAnI/saW-tkPSe5grWoqASpK0zDVcFw0JOBt4gCLcB/s640/Snip20150602_32.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Then once you log in successfully, it would show the welcome page as given below.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-r9BH1RsiiZA/VzinGz1WpMI/AAAAAAAAAnA/XEoHykRUWU4v_bpSqs0C4Yf4PvPUfuwuQCLcB/s1600/Snip20150602_33.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;298&quot; src=&quot;https://2.bp.blogspot.com/-r9BH1RsiiZA/VzinGz1WpMI/AAAAAAAAAnA/XEoHykRUWU4v_bpSqs0C4Yf4PvPUfuwuQCLcB/s640/Snip20150602_33.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;[1] https://docs.wso2.com/display/IS500/Samples&lt;br /&gt;[2]&amp;nbsp;&lt;a class=&quot;external-link&quot; href=&quot;http://www.componentspace.com/SAMLv20.aspx&quot; rel=&quot;nofollow&quot; style=&quot;background-color: whitesmoke; color: #666666; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px;&quot;&gt;http://www.componentspace.com/SAMLv20.aspx&lt;/a&gt;&lt;br /&gt;[3]&amp;nbsp;https://www.dropbox.com/s/jfik1852xdhf342/SAML2ServiceProvider.zip?dl=0&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/4306452693535290586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2016/05/wso2-is-sso-with-net-application.html#comment-form' title='99 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/4306452693535290586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/4306452693535290586'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2016/05/wso2-is-sso-with-net-application.html' title='WSO2 IS SSO with .NET application'/><author><name>DUSHAN TECH VISION</name><uri>http://www.blogger.com/profile/01549659515037283808</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://2.bp.blogspot.com/-uYkxQeL6aLQ/Vzim0OkxOEI/AAAAAAAAAm4/SBC4PNhNWNITXhroHwMJA99NPq6F20stQCKgB/s72-c/Snip20160515_112.png" height="72" width="72"/><thr:total>99</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-4866612800501977359</id><published>2015-10-31T14:35:00.003-07:00</published><updated>2015-10-31T14:38:17.049-07:00</updated><title type='text'>WSO2 Gateway (WSO2 GW) -Alpha</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;WSO2 Gateway (WSO2 GW) is an ultra high performance, lightweight and configuration-driven message gateway based on&lt;br /&gt;standard gateway pattern. It aims to encapsulate messaging between source and target systems that are built with&lt;br /&gt;disparate technologies, protocols, and standards. While it includes messaging between two systems, message mediation&lt;br /&gt;can be controlled by configuring WSO2 GW’s mediation logic.&lt;br /&gt;&lt;br /&gt;Download &lt;a class=&quot;&quot; href=&quot;https://github.com/wso2/product-gw/releases/tag/org.wso2.carbon.gateway.parent-1.0.0-alpha&quot;&gt;Aplha&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Key Features&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;* Ultra high performance and low latency &amp;nbsp;HTTP/S messaging.&lt;br /&gt;&lt;br /&gt;* Supports thousands of concurrent connections/clients.&lt;br /&gt;&lt;br /&gt;* Header-based routing using Apache Camel as the message mediation engine.&lt;br /&gt;&lt;br /&gt;* Defines REST services/APIs using&lt;a href=&quot;http://camel.apache.org/rest-dsl.html&quot;&gt; Camel REST DSL&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;* Lightweight and stateless service orchestration.&lt;br /&gt;&lt;br /&gt;* Load balancing and failover messaging.&lt;br /&gt;&lt;br /&gt;* Error handling support.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Getting Started&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;By configuring the [camel-context.xml](&lt;a href=&quot;https://github.com/wso2/product-gw/blob/master/product/carbon-home/repository/conf/camel/camel-context.xml&quot;&gt;https://github.com/wso2/product-gw/blob/master/product/carbon-home/repository/conf/camel/camel-context.xml&lt;/a&gt;) (which can be found in `$CARBON_HOME/repository/conf/camel/camel-context.xml`)&lt;br /&gt;we can achieve camel routing.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Sample camel configuration for Header-based routing&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;route id=&quot;http-routes&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;from uri=&quot;wso2-gw:/default&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;choice&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;when&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;simple&amp;gt;${header.routeId} regex &#39;r1&#39;&amp;lt;/simple&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;to uri=&quot;wso2-gw:http://localhost:9000/services/SimpleStockQuoteService&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/when&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;when&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;simple&amp;gt;${header.routeId} regex &#39;r2&#39;&amp;lt;/simple&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;to uri=&quot;wso2-gw:http://localhost:9002/service/SimpleStockQuoteService&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/when&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;otherwise&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;to uri=&quot;wso2-gw:http://localhost:9004/SimpleStockQuoteService&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/otherwise&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/choice&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/route&amp;gt;&lt;br /&gt;```&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Sample request to route to localhost:9000&lt;br /&gt;&amp;nbsp;curl &amp;nbsp;http://localhost:9090/default -H __&quot;routeId:r1&quot;__&lt;br /&gt;&lt;br /&gt;&amp;nbsp;If we don&#39;t have any routeId header the request will be routed to the localhost:9004 (i.e to otherwise)&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Sampel REST configuration&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Following is a sample rest interface definition&lt;br /&gt;```&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;rest path=&quot;/gw&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;get uri=&quot;/news&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;to uri=&quot;direct:getNews&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/get&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;get uri=&quot;/news/{id}&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;to uri=&quot;direct:getNewsById&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/get&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/rest&amp;gt;&lt;br /&gt;```&lt;br /&gt;&lt;br /&gt;and follwoing is the corresponding routes&lt;br /&gt;```&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;route&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;from uri=&quot;direct:getNews&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;to uri=&quot;wso2-gw:http://jsonplaceholder.typicode.com/posts&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/route&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;route&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;from uri=&quot;direct:getNewsById&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;recipientList&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;simple&amp;gt;wso2-gw:http://jsonplaceholder.typicode.com/posts/${header.id}&amp;lt;/simple&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/recipientList&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/route&amp;gt;&lt;br /&gt;```&lt;br /&gt;&lt;br /&gt;when we invoke the request `http://localhost:9090/gw/news`&lt;br /&gt;it will be routed to `http://jsonplaceholder.typicode.com/posts`&lt;br /&gt;&lt;br /&gt;similarly `http://localhost:9090/gw/news/24` will be routed to `http://jsonplaceholder.typicode.com/posts/24`&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/4866612800501977359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2015/10/wso2-gateway-wso2-gw.html#comment-form' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/4866612800501977359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/4866612800501977359'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2015/10/wso2-gateway-wso2-gw.html' title='WSO2 Gateway (WSO2 GW) -Alpha'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-1146684607255811716</id><published>2015-06-15T15:40:00.002-07:00</published><updated>2015-06-15T15:42:59.564-07:00</updated><title type='text'>Connecting IBM MQ with WSO2  ESB via SSL (Mutual Authentication)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Thought of writing this blog because very recently we a had use-case to demonstrate this particular features, but not like other MQ, IBM MQ gave us a hard time to figure out and fix the puzzle. On the other hand WSO2 ESB to MQ connection via SSL quite&amp;nbsp;important&amp;nbsp;and the most trick part is to&amp;nbsp;learn the materials provided by IBM, this blog covers connecting IBM MQ 8.0 with Fix pack released for MQ SSL related issues MQ 8.0.0.2 please find the detail [2][4]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;First tricky part is to define a certificate repository correctly best way learn this is to study [1], please find the &amp;nbsp;key repository detail I have configured.&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-T7oSmi3z1wg/VX9Ps_7QozI/AAAAAAAAGu8/gqfPrT9NsT0/s1600/Snip20150615_43.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;408&quot; src=&quot;http://1.bp.blogspot.com/-T7oSmi3z1wg/VX9Ps_7QozI/AAAAAAAAGu8/gqfPrT9NsT0/s640/Snip20150615_43.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Once you do that, next most important part is setting key repositories to MQ connection managers, you need to give the path in which the key repository has stored&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-CMTokTf7zTg/VX9Qyd-PQLI/AAAAAAAAGvE/XEoAdPSQZI4/s1600/Snip20150611_41.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;486&quot; src=&quot;http://1.bp.blogspot.com/-CMTokTf7zTg/VX9Qyd-PQLI/AAAAAAAAGvE/XEoAdPSQZI4/s640/Snip20150611_41.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-1nMb1MBJa_c/VX9T1aBwddI/AAAAAAAAGvo/KR6Ymq9t8hg/s1600/Snip20150615_44.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;434&quot; src=&quot;http://2.bp.blogspot.com/-1nMb1MBJa_c/VX9T1aBwddI/AAAAAAAAGvo/KR6Ymq9t8hg/s640/Snip20150615_44.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-3fGw7qVYVrI/VX9T1Z_xH6I/AAAAAAAAGvw/5FqM4B08zC0/s1600/Snip20150615_45.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;526&quot; src=&quot;http://4.bp.blogspot.com/-3fGw7qVYVrI/VX9T1Z_xH6I/AAAAAAAAGvw/5FqM4B08zC0/s640/Snip20150615_45.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-QyApkvQ6KQw/VX9UKPmAhjI/AAAAAAAAGv4/Ri0IY8nrGBs/s1600/Snip20150615_46.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;356&quot; src=&quot;http://4.bp.blogspot.com/-QyApkvQ6KQw/VX9UKPmAhjI/AAAAAAAAGv4/Ri0IY8nrGBs/s640/Snip20150615_46.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Then you need to follow the same procedure to create connection with .binding &amp;nbsp;[3]&lt;/li&gt;&lt;li&gt;Once do that you need to provide the SSL cipher spec which suppose to use there are few algorithms but remember that with&lt;b&gt; IBM MQ 8.0 onwards SSL V3 support is deprecated thus you need to use the latest java client&amp;nbsp;libraries&amp;nbsp;to connect the queue.&lt;/b&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Please read [5] the changes that&amp;nbsp;accommodated&amp;nbsp;in IBM MQ 8.0&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-6-WWXc1SG1M/VX9Q0tOhVYI/AAAAAAAAGvQ/qzMMzVIvAkA/s1600/Snip20150611_40.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;568&quot; src=&quot;http://3.bp.blogspot.com/-6-WWXc1SG1M/VX9Q0tOhVYI/AAAAAAAAGvQ/qzMMzVIvAkA/s640/Snip20150611_40.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;There were lots of class loader issues, it was due to MQ 7.0.0 client libraries conflict and we have created new OSGI jar bundle to resolve this puzzle, please find the latest &lt;a href=&quot;https://www.dropbox.com/sh/rtrq5k160ibajy7/AAC5k7waLxpg9Z_FDuuDQk35a?dl=0&quot;&gt;jars&lt;/a&gt;&amp;nbsp;which you must put in ESB dropping folder and make sure only those two jars only required for connect latest MQ 8.0 otherwise you will get tons of connection related issues.&lt;a href=&quot;https://www.blogger.com/&quot;&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Then when you start ESB you need to include the cipher spec as environment variable, please make sure to modify wso2servers.sh with &amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;-DCMQC.SSL_CIPHER_SUITE_PROPERTY=&quot;SSL_RSA_WITH_3DES_EDE_CBC_SHA&quot; \&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[1]&amp;nbsp;http://www.ibm.com/developerworks/websphere/library/techarticles/0510_fehners/0510_fehners.html&lt;/div&gt;&lt;div&gt;[2]&amp;nbsp;http://www-01.ibm.com/support/docview.wss?uid=swg24039436&lt;/div&gt;&lt;div&gt;[3]&amp;nbsp;http://nandikajayawardana.blogspot.com/2015/03/configuring-ibm-mq-with-wso2-esb.html&lt;/div&gt;&lt;div&gt;[4]&amp;nbsp;https://www.ibm.com/developerworks/community/blogs/messaging/entry/bitesize_blogging_mq_v8_fix_pack_8_0_0_2_mq_classes_now_support_tls_with_the_oracle_jre?lang=en&lt;/div&gt;&lt;div&gt;[5]&amp;nbsp;http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.pro.doc/q001060_.htm&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/1146684607255811716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2015/06/connecting-ibm-mq-with-wso2-esb-via-ssl.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/1146684607255811716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/1146684607255811716'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2015/06/connecting-ibm-mq-with-wso2-esb-via-ssl.html' title='Connecting IBM MQ with WSO2  ESB via SSL (Mutual Authentication)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-T7oSmi3z1wg/VX9Ps_7QozI/AAAAAAAAGu8/gqfPrT9NsT0/s72-c/Snip20150615_43.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-5637889741176154818</id><published>2015-05-08T20:53:00.002-07:00</published><updated>2016-06-07T10:20:01.438-07:00</updated><title type='text'>NTLM Authentication WSO2 ESB (Developer Testing)</title><content type='html'>&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;u&gt;&lt;b&gt;NTLM ?&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;Thought of writing this blog as I got few queries on how ESB can be configured to communicate services which are secured with NTLM (which is also is known as Windows Authentication), please refer [1] to learn more information on NTLM&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&amp;nbsp; When comes with WSO2 ESB we do not have OOTB approach to resolve this puzzle, we have tried&amp;nbsp;&lt;span style=&quot;background-color: white; color: #333333; line-height: 20px;&quot;&gt;&amp;nbsp;to add pass-through support for NTLM. But, there seems to be inherent technical problems in NTLM standard it self preventing it to work through a proxy.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style=&quot;background-color: white; color: #333333; line-height: 20px; margin-top: 10px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;NTLM is connection oriented, based on connection state. It authenticates the connection - not really the end user.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; line-height: 20px; margin-top: 10px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;Kerberos is the preferred choice to connect through proxy servers than NTLM, due to the connection-based nature of NTLM.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; line-height: 20px; margin-top: 10px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;When a client needs to authenticate itself to a proxy or server using the NTLM scheme then the following 4-way handshake takes place&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; line-height: 20px; margin-top: 10px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;1: C -&amp;gt; S GET ...&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; line-height: 20px; margin-top: 10px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;2: S -&amp;gt; C 401 Unauthorized&lt;br /&gt;WWW-Authenticate: NTLM&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; line-height: 20px; margin-top: 10px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;3: C -&amp;gt; S GET ...&lt;br /&gt;Authorization: NTLM &amp;lt;type-1-message&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; line-height: 20px; margin-top: 10px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;4: S -&amp;gt; C 401 Unauthorized&lt;br /&gt;WWW-Authenticate: NTLM &amp;lt;type-2-message&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; line-height: 20px; margin-top: 10px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;5: C -&amp;gt; S GET ...&lt;br /&gt;Authorization: NTLM &amp;lt;type-3-message&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; line-height: 20px; margin-top: 10px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;6: S -&amp;gt; C 200 Ok&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; line-height: 20px; margin-top: 10px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;This manifests itself states that the network connection must be kept alive during the second part of the handshake,i.e. between the receiving of the type-2 message from the server (step 4) and the sending of the type-3 message (step 5). Each time the connection is closed this second part (steps 3 through 6) must be repeated over the new connection (i.e. it&#39;s not enough to just keep sending the last type-3 message).&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; line-height: 20px; margin-top: 10px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;Also, once the connection is authenticated, the Authorization header need not be sent anymore while the connection stays open, no matter what resource is accessed.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; line-height: 20px; margin-top: 10px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;Microsoft also emphasizes that NTLM requires implicit end-to-end state and will not work through a proxy server.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; font-family: Arial, sans-serif; line-height: 20px; margin-top: 10px; padding: 0px;&quot;&gt;&lt;u&gt;&lt;b&gt;So how we have overcome&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;&amp;nbsp; since we need to maintain &quot;&lt;span style=&quot;background-color: white; color: #333333; font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif; line-height: 20px;&quot;&gt;NTLM is connection oriented, based on connection state.&quot;&lt;/span&gt;, the solution we came is to use Class Mediator and CalloutMediator approach&lt;br /&gt;&lt;br /&gt;Ok, lets start from the beginning, (for novice users this might helpful as I will go through setting up NTLM service from VM which has Windows 7)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;Setup NTLM service in Windows&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;(Assume you have installed IIS service from windows features), Then need to enable Windows Authentication&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/--oIkRYN1bMQ/VU167wcbmJI/AAAAAAAAGNc/4iI97LoWlwU/s1600/Snip20150508_123.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;516&quot; src=&quot;https://2.bp.blogspot.com/--oIkRYN1bMQ/VU167wcbmJI/AAAAAAAAGNc/4iI97LoWlwU/s640/Snip20150508_123.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Then you need to navigate to IIS admin service and enable Windows authentication for a selected site&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-tWJ2Ro30tac/VU17iNLRqeI/AAAAAAAAGNk/FMGjOnAqGQU/s1600/Snip20150508_124.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;294&quot; src=&quot;https://4.bp.blogspot.com/-tWJ2Ro30tac/VU17iNLRqeI/AAAAAAAAGNk/FMGjOnAqGQU/s640/Snip20150508_124.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Since this a developer testing, I will create a WCF service and host the created service under IIS&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-ZkocPRXGuGQ/VU1757GsSdI/AAAAAAAAGNs/nNxIUGQVo2g/s1600/Snip20150508_125.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;302&quot; src=&quot;https://3.bp.blogspot.com/-ZkocPRXGuGQ/VU1757GsSdI/AAAAAAAAGNs/nNxIUGQVo2g/s640/Snip20150508_125.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-29VIiZXA98s/VU18I0vJfZI/AAAAAAAAGN0/fqhtGqk1PWI/s1600/Snip20150508_126.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;290&quot; src=&quot;https://2.bp.blogspot.com/-29VIiZXA98s/VU18I0vJfZI/AAAAAAAAGN0/fqhtGqk1PWI/s640/Snip20150508_126.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;When you try to deploy the created WCF service from Microsoft Visual Studio few errors can be thrown and there are solutions being discussed under [2][3]&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;i style=&quot;background-color: white; border: 0px; color: #222222; font-family: &#39;Helvetica Neue&#39;, Helvetica, Arial, sans-serif; line-height: 19.5px; margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Config Error: This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault=&quot;Deny&quot;), or set explicitly by a location tag with overrideMode=&quot;Deny&quot; or the legacy allowOverride=&quot;false&quot;.&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;background-color: white; border: 0px; line-height: 19.5px; margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;color: #222222; font-family: &amp;quot;helvetica neue&amp;quot; , &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: x-small;&quot;&gt;&lt;i&gt;The authentication schemes configured on the host (&#39;IntegratedWindowsAuthentication&#39;) do not allow those configured on the binding &#39;BasicHttpBinding&#39; (&#39;Anonymous&#39;). Please ensure that the SecurityMode is set to Transport or TransportCredentialOnly. Additionally, this may be resolved by changing the authentication schemes for this application through the IIS management tool, through the ServiceHost.Authentication.AuthenticationSchemes property, in the application configuration file at the element, by updating the ClientCredentialType property on the binding, or by adjusting the AuthenticationScheme property on the HttpTransportBindingElement&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style=&quot;color: #222222; font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;span style=&quot;line-height: 19.5px;&quot;&gt;If you successfully deploy service then when accessing the service it should look as&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-jKascCI8DYo/VU198w2AHrI/AAAAAAAAGOA/T42vDN-DmrM/s1600/Snip20150508_127.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;478&quot; src=&quot;https://1.bp.blogspot.com/-jKascCI8DYo/VU198w2AHrI/AAAAAAAAGOA/T42vDN-DmrM/s640/Snip20150508_127.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;span style=&quot;line-height: 19.5px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;color: #222222; font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;span style=&quot;line-height: 19.5px;&quot;&gt;If you enter invalid Windows Credentials result would be&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-cFw5zLbRX1U/VU1-Vu4XY_I/AAAAAAAAGOI/E93NZHqYPyQ/s1600/Snip20150508_128.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;444&quot; src=&quot;https://2.bp.blogspot.com/-cFw5zLbRX1U/VU1-Vu4XY_I/AAAAAAAAGOI/E93NZHqYPyQ/s640/Snip20150508_128.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;color: #222222; font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;span style=&quot;line-height: 19.5px;&quot;&gt;Successful invocation will results as&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-4JStjCRbloI/VU1-tzxy2AI/AAAAAAAAGOQ/tMkANGVEdVA/s1600/Snip20150508_129.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;472&quot; src=&quot;https://2.bp.blogspot.com/-4JStjCRbloI/VU1-tzxy2AI/AAAAAAAAGOQ/tMkANGVEdVA/s640/Snip20150508_129.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: &amp;quot;times&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;span style=&quot;line-height: 19.5px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;u&gt;&lt;b&gt;Setup WSO2 ESB&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;HttpClient has improved NTLM support please refer [4] for the relevant technical detail&lt;/li&gt;&lt;li&gt;Written simple client to test NTLM communication, client can be found from &lt;u&gt;&lt;a href=&quot;https://www.dropbox.com/s/mo4reb5muoia0qs/NTLMClient.zip?dl=0&quot;&gt;here&lt;/a&gt;&lt;/u&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-MyOn0Dw3AyU/VU2AED4bVbI/AAAAAAAAGOY/IIP2hGe-O2A/s1600/Snip20150508_130.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;410&quot; src=&quot;https://1.bp.blogspot.com/-MyOn0Dw3AyU/VU2AED4bVbI/AAAAAAAAGOY/IIP2hGe-O2A/s640/Snip20150508_130.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;Invalid Request&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-wHosQfPIhZY/VU2AaRMIuYI/AAAAAAAAGOg/ykZRt81RvgU/s1600/Snip20150508_131.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;302&quot; src=&quot;https://2.bp.blogspot.com/-wHosQfPIhZY/VU2AaRMIuYI/AAAAAAAAGOg/ykZRt81RvgU/s640/Snip20150508_131.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;And we have written a class mediator by referring the same NTLMClient i.e&amp;nbsp;&lt;b&gt;&lt;u&gt;&lt;a href=&quot;https://www.dropbox.com/sh/yq3nbedtm78u2ap/AAC-XsIyQp7F5ksJ5QY4jXVAa?dl=0&quot;&gt;NTLMMediator&lt;/a&gt;&lt;/u&gt;&lt;/b&gt;, and once download you need to compile to OSGI jar then&amp;nbsp;need to place at ESB_HOME/repository/components/dropins then restart server.&lt;/li&gt;&lt;li&gt;Since we do use proxy and Callout mediator approach the synapse configuration looks like give below.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;If you setup everything correctly and when invoke ESB proxy then it will return result as&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style=&quot;font-family: &amp;quot;trebuchet ms&amp;quot; , sans-serif;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;lt;proxy xmlns=&quot;http://ws.apache.org/ns/synapse&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name=&quot;NTLMProxy&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; transports=&quot;https http&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; startOnLoad=&quot;true&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trace=&quot;disable&quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;target faultSequence=&quot;fault&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;inSequence&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;class name=&quot;org.wso2.carbon.mediator.ntlm.NTLMMediator&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;username&quot; value=&quot;ayash&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;host&quot; value=&quot;xxx&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;domain&quot; value=&quot;yyy&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;password&quot; value=&quot;mmmm&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/class&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;class name=&quot;org.wso2.carbon.mediator.ntlm.NTLMCalloutMediator&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;serviceURL&quot; value=&quot;http://xxxxx:8080/Service1.svc&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;initAxis2ClientOptions&quot; value=&quot;false&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;action&quot; value=&quot;http://tempuri.org/IService1/GetData&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/class&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;header name=&quot;To&quot; action=&quot;remove&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;RESPONSE&quot; value=&quot;true&quot; scope=&quot;default&quot; type=&quot;STRING&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;property name=&quot;NO_ENTITY_BODY&quot; scope=&quot;axis2&quot; action=&quot;remove&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;send/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/inSequence&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/target&amp;gt;&lt;br /&gt;&amp;lt;/proxy&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;-webkit-text-stroke-width: 0px; background: none !important; border-radius: 0px !important; border: 0px !important; color: black; float: none !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; height: auto !important; letter-spacing: normal; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; orphans: auto; outline: 0px !important; overflow: visible !important; padding: 0px !important; text-align: start; text-indent: 0px; text-transform: none; vertical-align: baseline !important; white-space: normal; widows: 1; width: 1100px; word-spacing: 0px;&quot;&gt;&lt;tbody style=&quot;background: none !important; border-radius: 0px !important; border: 0px !important; float: none !important; font-size: 1em !important; height: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;tr style=&quot;background: none !important; border-radius: 0px !important; border: 0px !important; float: none !important; font-size: 1em !important; height: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;td class=&quot;&quot; style=&quot;background: none !important; border-radius: 0px !important; border: 0px !important; color: rgb(175, 175, 175) !important; float: none !important; font-family: Consolas, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, monospace !important; font-size: 1em !important; height: auto !important; line-height: 1.1em !important; margin: 0px; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;td class=&quot;&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; float: none !important; font-family: arial, sans-serif; height: auto !important; margin: 0px; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; vertical-align: baseline !important; width: 1077px;&quot;&gt;&lt;div class=&quot;&quot; style=&quot;background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-image-outset: initial !important; border-image-repeat: initial !important; border-image-slice: initial !important; border-image-source: initial !important; border-image-width: initial !important; border-radius: 0px !important; border: 0px !important; float: none !important; height: auto !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; vertical-align: baseline !important; width: auto !important;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-OpXotSdA3AI/VU2B7E1LRBI/AAAAAAAAGOw/yvnWLEWhdhw/s1600/Snip20150508_133.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;374&quot; src=&quot;https://4.bp.blogspot.com/-OpXotSdA3AI/VU2B7E1LRBI/AAAAAAAAGOw/yvnWLEWhdhw/s640/Snip20150508_133.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You could give a try on this. Its a very basic developer test for NTLM and can be enhanced many ways based on requirements.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[1]&amp;nbsp;&lt;a href=&quot;https://msdn.microsoft.com/en-us/library/windows/desktop/aa378749%28v=vs.85%29.aspx?f=255&amp;amp;MSPPError=-2147217396&quot;&gt;https://msdn.microsoft.com/en-us/library/windows/desktop/aa378749%28v=vs.85%29.aspx?f=255&amp;amp;MSPPError=-2147217396&lt;/a&gt;&lt;br /&gt;[2]&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/questions/9794985/iis-this-configuration-section-cannot-be-used-at-this-path-configuration-lock&quot;&gt;http://stackoverflow.com/questions/9794985/iis-this-configuration-section-cannot-be-used-at-this-path-configuration-lock&lt;/a&gt;&lt;br /&gt;[3]&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/questions/15264969/make-wcf-service-integratedwindowsauthentication&quot;&gt;http://stackoverflow.com/questions/15264969/make-wcf-service-integratedwindowsauthentication&lt;/a&gt;&lt;br /&gt;[4]&amp;nbsp;&lt;a href=&quot;https://hc.apache.org/httpcomponents-client-ga/ntlm.htm&quot;&gt;https://hc.apache.org/httpcomponents-client-ga/ntlm.htm&lt;/a&gt;l&lt;br /&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/5637889741176154818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2015/05/ntlm-authentication-wso2-esb-developer.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/5637889741176154818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/5637889741176154818'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2015/05/ntlm-authentication-wso2-esb-developer.html' title='NTLM Authentication WSO2 ESB (Developer Testing)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://2.bp.blogspot.com/--oIkRYN1bMQ/VU167wcbmJI/AAAAAAAAGNc/4iI97LoWlwU/s72-c/Snip20150508_123.png" height="72" width="72"/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-6615968360163937712</id><published>2015-03-17T17:59:00.001-07:00</published><updated>2015-03-17T18:10:08.530-07:00</updated><title type='text'>Federated Authentication-Configure WSO2 IS with Salesforce</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;script language=&quot;javascript&quot; src=&quot;http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script language=&quot;javascript&quot; src=&quot;http://google-code-prettify.googlecode.com/svn/trunk/src/lang-css.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script type=&quot;text/javascript&quot;&gt;function addLoadEvent(func) {   var oldonload = window.onload;   if (typeof window.onload != &#39;function&#39;) {     window.onload = func;   } else {     window.onload = function() {       if (oldonload) {         oldonload();       }       func();     }   } } addLoadEvent(function() {     prettyPrint(); }); &lt;/script&gt;&lt;style type=&quot;text/css&quot;&gt;/* Pretty printing styles. Used with prettify.js. */  .str { color: #080; } .kwd { color: #008; } .com { color: #800; } .typ { color: #606; } .lit { color: #066; } .pun { color: #660; } .pln { color: #000; } .tag { color: #008; } .atn { color: #606; } .atv { color: #080; } .dec { color: #606; } pre.prettyprint { padding: 2px; border: 1px solid #888; }  @media print {   .str { color: #060; }   .kwd { color: #006; font-weight: bold; }   .com { color: #600; font-style: italic; }   .typ { color: #404; font-weight: bold; }   .lit { color: #044; }   .pun { color: #440; }   .pln { color: #000; }   .tag { color: #006; font-weight: bold; }   .atn { color: #404; }   .atv { color: #060; } } &lt;/style&gt;&lt;br /&gt;This article will discuss how we could configure WSO2 Identity server with salesforce for Federated Authentication&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;You should create a salesforce developer account from&amp;nbsp;https://developer.salesforce.com/&lt;/li&gt;&lt;li&gt;Once you login to developer account you need to navigate, Identity providers under Security console tab&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-DpFtiOpeve0/VQjGNlrIHfI/AAAAAAAAFU8/9rVYkJuXXvg/s1600/Snip20150317_28.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-DpFtiOpeve0/VQjGNlrIHfI/AAAAAAAAFU8/9rVYkJuXXvg/s1600/Snip20150317_28.png&quot; height=&quot;310&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Then you must download Salesforce public certificate and the Identity provide meta-information which is required for IDP configuration WSO2 IS &lt;pre class=&quot;prettyprint&quot;&gt;&amp;lt;md:entitydescriptor entityid=&quot;https://wso2idc-dev-ed.my.salesforce.com&quot; validuntil=&quot;2025-03-18T00:16:43.800Z&quot; xmlns:ds=&quot;http://www.w3.org/2000/09/xmldsig#&quot; xmlns:md=&quot;urn:oasis:names:tc:SAML:2.0:metadata&quot;&amp;gt;&lt;br /&gt;   &amp;lt;md:idpssodescriptor protocolsupportenumeration=&quot;urn:oasis:names:tc:SAML:2.0:protocol&quot;&amp;gt;&lt;br /&gt;      &amp;lt;md:keydescriptor use=&quot;signing&quot;&amp;gt;&lt;br /&gt;         &amp;lt;ds:keyinfo&amp;gt;&lt;br /&gt;            &amp;lt;ds:x509data&amp;gt;&lt;br /&gt;               &lt;br /&gt;            &amp;lt;/ds:x509data&amp;gt;&lt;br /&gt;         &amp;lt;/ds:keyinfo&amp;gt;&lt;br /&gt;      &amp;lt;/md:keydescriptor&amp;gt;&lt;br /&gt;      &amp;lt;md:nameidformat&amp;gt;urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified&amp;lt;/md:nameidformat&amp;gt;&lt;br /&gt;      &amp;lt;md:singlesignonservice binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&quot; location=&quot;https://wso2idc-dev-ed.my.salesforce.com/idp/endpoint/HttpPost&quot;&amp;gt;&lt;br /&gt;      &amp;lt;md:singlesignonservice binding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect&quot; location=&quot;https://wso2idc-dev-ed.my.salesforce.com/idp/endpoint/HttpRedirect&quot;&amp;gt;&lt;br /&gt;   &amp;lt;/md:singlesignonservice&amp;gt;&amp;lt;/md:singlesignonservice&amp;gt;&amp;lt;/md:idpssodescriptor&amp;gt;&lt;br /&gt;&amp;lt;/md:entitydescriptor&amp;gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-family: Times; white-space: normal;&quot;&gt;&amp;nbsp;You will find POST and HTTP re-directing IDP urls are at the meta-information which required when configuring WSO2 Identity Provider.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-family: Times;&quot;&gt;&lt;span style=&quot;white-space: normal;&quot;&gt;Then you need to create a Connected app, you need to provide almost similar entries when creating connected app, specially pay special attention on ACS URL and Issuer URL&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-upbzivKeZZo/VQjJRWLb4iI/AAAAAAAAFVI/NuA9ELuZD5o/s1600/Snip20150317_31.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-upbzivKeZZo/VQjJRWLb4iI/AAAAAAAAFVI/NuA9ELuZD5o/s1600/Snip20150317_31.png&quot; height=&quot;288&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-15g-VYDioAw/VQjKWJpLacI/AAAAAAAAFVQ/FFgbKspZDI0/s1600/Snip20150317_32.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-15g-VYDioAw/VQjKWJpLacI/AAAAAAAAFVQ/FFgbKspZDI0/s1600/Snip20150317_32.png&quot; height=&quot;426&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Then create a user profile and add connected app where only the user who has the profile will allow to authenticate via SSO&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-ULghTCoclNA/VQjLXIZoM3I/AAAAAAAAFVY/tVl6H3FV4Yk/s1600/Snip20150317_34.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-ULghTCoclNA/VQjLXIZoM3I/AAAAAAAAFVY/tVl6H3FV4Yk/s1600/Snip20150317_34.png&quot; height=&quot;342&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Start Identity server then configure Identity Provider as shown below, you need to import salesforce public certificate obtained in earlier steps as below.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-j9C1QUk9yWM/VQjLviK0pRI/AAAAAAAAFVg/Bdlf10Fy8Qk/s1600/Snip20150317_35.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-j9C1QUk9yWM/VQjLviK0pRI/AAAAAAAAFVg/Bdlf10Fy8Qk/s1600/Snip20150317_35.png&quot; height=&quot;404&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-jo-JFqcnjcI/VQjMIxJ1CvI/AAAAAAAAFVo/wViub_I2UgA/s1600/Snip20150317_36.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-jo-JFqcnjcI/VQjMIxJ1CvI/AAAAAAAAFVo/wViub_I2UgA/s1600/Snip20150317_36.png&quot; height=&quot;392&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Configure Service provider as shown below,&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-yDTYzIYNmbY/VQjMf7iKqNI/AAAAAAAAFVw/8QugCJL79hY/s1600/Snip20150317_37.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-yDTYzIYNmbY/VQjMf7iKqNI/AAAAAAAAFVw/8QugCJL79hY/s1600/Snip20150317_37.png&quot; height=&quot;292&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Inbound configuration should be as below&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-tog21-seipI/VQjMwNbXdAI/AAAAAAAAFV4/l74DkbYPRxY/s1600/Snip20150317_38.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-tog21-seipI/VQjMwNbXdAI/AAAAAAAAFV4/l74DkbYPRxY/s1600/Snip20150317_38.png&quot; height=&quot;362&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Then deploy travolocity app , setup SSO then click login page&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-vrA_dl8RuAw/VQjNNgOhkeI/AAAAAAAAFWA/-UUFgWwvATs/s1600/Snip20150317_39.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-vrA_dl8RuAw/VQjNNgOhkeI/AAAAAAAAFWA/-UUFgWwvATs/s1600/Snip20150317_39.png&quot; height=&quot;442&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-LW2tX5hQtl4/VQjNXAjconI/AAAAAAAAFWI/oAZWVdUG-LI/s1600/Snip20150317_40.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-LW2tX5hQtl4/VQjNXAjconI/AAAAAAAAFWI/oAZWVdUG-LI/s1600/Snip20150317_40.png&quot; height=&quot;398&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-eUNziygEWus/VQjNildQqYI/AAAAAAAAFWQ/EboHMw9u3kM/s1600/Snip20150317_41.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-eUNziygEWus/VQjNildQqYI/AAAAAAAAFWQ/EboHMw9u3kM/s1600/Snip20150317_41.png&quot; height=&quot;424&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-4yu7n8fGr-w/VQjNuPcKsbI/AAAAAAAAFWY/rQgQOrVKUtI/s1600/Snip20150317_42.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-4yu7n8fGr-w/VQjNuPcKsbI/AAAAAAAAFWY/rQgQOrVKUtI/s1600/Snip20150317_42.png&quot; height=&quot;434&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/6615968360163937712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2015/03/configure-wso2-identity-server-as.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/6615968360163937712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/6615968360163937712'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2015/03/configure-wso2-identity-server-as.html' title='Federated Authentication-Configure WSO2 IS with Salesforce'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-DpFtiOpeve0/VQjGNlrIHfI/AAAAAAAAFU8/9rVYkJuXXvg/s72-c/Snip20150317_28.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-2804354896333704053</id><published>2015-02-23T11:16:00.002-08:00</published><updated>2015-02-23T11:46:30.405-08:00</updated><title type='text'>Identity Server 5.0 User Account Recovery / User Account lock and unlocking</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;script language=&quot;javascript&quot; src=&quot;http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script language=&quot;javascript&quot; src=&quot;http://google-code-prettify.googlecode.com/svn/trunk/src/lang-css.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script type=&quot;text/javascript&quot;&gt;function addLoadEvent(func) {   var oldonload = window.onload;   if (typeof window.onload != &#39;function&#39;) {     window.onload = func;   } else {     window.onload = function() {       if (oldonload) {         oldonload();       }       func();     }   } } addLoadEvent(function() {     prettyPrint(); }); &lt;/script&gt;&lt;style type=&quot;text/css&quot;&gt;/* Pretty printing styles. Used with prettify.js. */  .str { color: #080; } .kwd { color: #008; } .com { color: #800; } .typ { color: #606; } .lit { color: #066; } .pun { color: #660; } .pln { color: #000; } .tag { color: #008; } .atn { color: #606; } .atv { color: #080; } .dec { color: #606; } pre.prettyprint { padding: 2px; border: 1px solid #888; }  @media print {   .str { color: #060; }   .kwd { color: #006; font-weight: bold; }   .com { color: #600; font-style: italic; }   .typ { color: #404; font-weight: bold; }   .lit { color: #044; }   .pun { color: #440; }   .pln { color: #000; }   .tag { color: #006; font-weight: bold; }   .atn { color: #404; }   .atv { color: #060; } } &lt;/style&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: x-small;&quot;&gt;This article I&#39;m gonna discuss about account registration methods, for the demo purpose I am going to use WSO2 IS 5.0.0 , InfomationRecovery sample (shared here with) which is hosted in Tomcat&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: x-small;&quot;&gt;Setting up IS 5.0.0&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: x-small;&quot;&gt;Update below parameters &amp;nbsp;wso2is-5.0.0\repository\conf\security\identity-mgt.properties&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;pre class=&quot;prettyprint&quot;&gt;Identity.Listener.Enable=true&lt;br /&gt;Notification.Sending.Enable=true&lt;br /&gt;Notification.Expire.Time=7200&lt;br /&gt;Notification.Sending.Internally.Managed=true&lt;br /&gt;Authentication.Policy.Enable=true&lt;br /&gt;Authentication.Policy.Account.Lock.On.Failure=true&lt;br /&gt;Authentication.Policy.Account.Lock.On.Failure.Max.Attempts=2&lt;br /&gt;Authentication.Policy.Account.Lock.Time=2&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: x-small;&quot;&gt;You need to configure the email sender and here we use the axis transport Sender. Following configureation needs to be done in the axis2.xml file located in the Identity Server installation under &amp;lt;is_home&amp;gt;/repository/conf/axis2 directory. Uncomment the following and give your email details.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;&lt;pre class=&quot;prettyprint&quot;&gt;&amp;lt;transportsender class=&quot;org.apache.axis2.transport.mail.MailTransportSender&quot; name=&quot;mailto&quot;&amp;gt;&lt;br /&gt;&amp;lt;parameter name=&quot;mail.smtp.from&quot;&amp;gt;wso2demomail@gmail.com&amp;lt;/parameter&amp;gt; &lt;br /&gt;        &amp;lt;parameter name=&quot;mail.smtp.user&quot;&amp;gt;wso2demomail@gmail.com&amp;lt;/parameter&amp;gt; &lt;br /&gt;        &amp;lt;parameter name=&quot;mail.smtp.password&quot;&amp;gt;mailpassword&amp;lt;/parameter&amp;gt; &lt;br /&gt;        &amp;lt;parameter name=&quot;mail.smtp.host&quot;&amp;gt;smtp.gmail.com&amp;lt;/parameter&amp;gt; &lt;br /&gt;        &amp;lt;parameter name=&quot;mail.smtp.port&quot;&amp;gt;587&amp;lt;/parameter&amp;gt; &lt;br /&gt;        &amp;lt;parameter name=&quot;mail.smtp.starttls.enable&quot;&amp;gt;true&amp;lt;/parameter&amp;gt; &lt;br /&gt;        &amp;lt;parameter name=&quot;mail.smtp.auth&quot;&amp;gt;true&amp;lt;/parameter&amp;gt; &lt;br /&gt;&amp;lt;/transportsender&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;&lt;ul style=&quot;font-size: small; text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;You also can configure the email format and confirmation code urls in the email-admin-config.xml under &amp;lt;is_home&amp;gt;/repository/conf/email directory. For password recovery sending email you need to have a email template type as “passwordReset”. Following shows a sample configuration.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;Start IS server&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;Map Account Recovery Clam as given below&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-0oA0o-1w7lE/VOgNBJXzZMI/AAAAAAAAE9I/k8mbEhApQ8Q/s1600/Snip20150220_55.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 18.4799995422363px; margin-bottom: 1em; margin-left: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-0oA0o-1w7lE/VOgNBJXzZMI/AAAAAAAAE9I/k8mbEhApQ8Q/s1600/Snip20150220_55.png&quot; height=&quot;295&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Start Tomcat or any Application server, deploy war file (project can be found from &lt;a href=&quot;https://www.dropbox.com/s/98300cb6lbc47tm/InfoRecoverySample.zip?dl=0&quot;&gt;here&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;Click user registration&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/--cGewRVdwdY/VOgN1TBxs8I/AAAAAAAAE9Q/vPqPy_31MYE/s1600/Snip20150220_56.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/--cGewRVdwdY/VOgN1TBxs8I/AAAAAAAAE9Q/vPqPy_31MYE/s1600/Snip20150220_56.png&quot; height=&quot;316&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;Configure IS for SP please see image&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-ni7XNRi9puo/VOuCReGimHI/AAAAAAAAAOA/14PxI9uqvxo/s1600/Snip20150223_67.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-ni7XNRi9puo/VOuCReGimHI/AAAAAAAAAOA/14PxI9uqvxo/s1600/Snip20150223_67.png&quot; height=&quot;378&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 13.1999998092651px; line-height: 18.4799995422363px;&quot;&gt;Once click from Registration will be direct to SSO page&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-vgw_3vESjKY/VOt_8VHW2OI/AAAAAAAAANQ/U4NX5cjKeU0/s1600/Snip20150223_59.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-vgw_3vESjKY/VOt_8VHW2OI/AAAAAAAAANQ/U4NX5cjKeU0/s1600/Snip20150223_59.png&quot; height=&quot;390&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-mlaD8ZtQjes/VOuAZN3vq7I/AAAAAAAAANY/05LoKk3ZMrc/s1600/Snip20150223_61.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-mlaD8ZtQjes/VOuAZN3vq7I/AAAAAAAAANY/05LoKk3ZMrc/s1600/Snip20150223_61.png&quot; height=&quot;411&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Recover password if forgot..&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-w_nBRHXix7A/VOuBE176SyI/AAAAAAAAANg/P_usjLgeZRA/s1600/Snip20150223_62.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-w_nBRHXix7A/VOuBE176SyI/AAAAAAAAANg/P_usjLgeZRA/s1600/Snip20150223_62.png&quot; height=&quot;411&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-i2vpL1CzaXk/VOuBGFSqObI/AAAAAAAAANo/_dsESVdb3as/s1600/Snip20150223_63.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-i2vpL1CzaXk/VOuBGFSqObI/AAAAAAAAANo/_dsESVdb3as/s1600/Snip20150223_63.png&quot; height=&quot;412&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-QUIXChQkySc/VOuBGPnTOII/AAAAAAAAANs/LZnBqtVb9SU/s1600/Snip20150223_64.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-QUIXChQkySc/VOuBGPnTOII/AAAAAAAAANs/LZnBqtVb9SU/s1600/Snip20150223_64.png&quot; height=&quot;412&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-UTd9UAKcIeM/VOuBqnT9YfI/AAAAAAAAAN4/kRVqya9lHQk/s1600/Snip20150223_66.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-UTd9UAKcIeM/VOuBqnT9YfI/AAAAAAAAAN4/kRVqya9lHQk/s1600/Snip20150223_66.png&quot; height=&quot;267&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/2804354896333704053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2015/02/identity-server-50-user-account.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/2804354896333704053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/2804354896333704053'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2015/02/identity-server-50-user-account.html' title='Identity Server 5.0 User Account Recovery / User Account lock and unlocking'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-0oA0o-1w7lE/VOgNBJXzZMI/AAAAAAAAE9I/k8mbEhApQ8Q/s72-c/Snip20150220_55.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-8214919655570138400</id><published>2015-02-17T18:26:00.000-08:00</published><updated>2015-02-17T18:26:13.161-08:00</updated><title type='text'>SAML2 bearer tokens with OAuth2 tokens in WSO2 API Manager</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp;Most of enterprise applications use SAML2 to engage a third-party identity provider to grant access to systems that are only authenticated against the enterprise application. These enterprise applications might need to consume OAuth-protected resources through APIs, after validating them against an OAuth2.0 authentication server. However, an enterprise application that already has a working SAML2.0 based Single Sign On infrastructure between itself and the IDP prefers to use the existing trust relationship, even if the OAuth authorization server is entirely different from the IDP. The SAML2 Bearer Assertion Profile for OAuth2.0 helps leverage this existing trust relationship by presenting the SAML2.0 token to the authorization server and exchanging it to an OAuth2.0 access token and then use that OAuth token to get access to APIs.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-25DohWURKmE/VOPyocE68FI/AAAAAAAAE5s/uF591uX3L8c/s1600/SAML2%2Bto%2BOAuth.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-25DohWURKmE/VOPyocE68FI/AAAAAAAAE5s/uF591uX3L8c/s1600/SAML2%2Bto%2BOAuth.png&quot; height=&quot;287&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Ground work Understanding how this process can be implemented&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Setup IDP in WSO2 Identity server (Uses IS 5.0.0)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-ayPtHoKjMl4/VOPzw_kDNBI/AAAAAAAAE54/FHtUJ9GcscY/s1600/Snip20150217_41.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-ayPtHoKjMl4/VOPzw_kDNBI/AAAAAAAAE54/FHtUJ9GcscY/s1600/Snip20150217_41.png&quot; height=&quot;324&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-pviAzSh83jA/VOP0AbnsBbI/AAAAAAAAE6A/sAVf0NdeiS8/s1600/Snip20150217_42.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-pviAzSh83jA/VOP0AbnsBbI/AAAAAAAAE6A/sAVf0NdeiS8/s1600/Snip20150217_42.png&quot; height=&quot;483&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Register a subscriber (user) in API-M&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-v5u9reKgIvA/VOP0hWpFVbI/AAAAAAAAE6I/UYiKlMfB0eY/s1600/Snip20150217_43.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://2.bp.blogspot.com/-v5u9reKgIvA/VOP0hWpFVbI/AAAAAAAAE6I/UYiKlMfB0eY/s1600/Snip20150217_43.png&quot; height=&quot;131&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Now need to request SAML token for the user, for that have created a script as follows, make sure the SAML request being signed using the public certificate.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;#saml assertion issuer&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;b&gt;ISSUER=&quot;SAML_ASSERTION_TEST_ISSUER&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;#ISSUER=&quot;localhost&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;#saml2_assertion_subject&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;b&gt;SUBJECT=&quot;saman123&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;#saml2_assertion_recipient&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;b&gt;RECIPIENT=&quot;https://localhost:9444/oauth2/token/&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;#saml2_asseertion_audience_restriction&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;b&gt;AUDIENCE=&quot;https://localhost:9444/oauth2/token/&quot;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;#path to JKS store file&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;JKS_PATH=&quot;/Users/dushan/workspace/poc/apikeym/apim17/wso2is-5.0.0/repository/resources/security/wso2carbon.jks&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;b&gt;java -jar SAML2AssertionCreator/SAML2AssertionCreator.jar $ISSUER $SUBJECT $RECIPIENT $AUDIENCE $JKS_PATH wso2carbon wso2carbon wso2carbon&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;You can download SAML2AssertionCreator project from &lt;a href=&quot;https://www.dropbox.com/s/subw50qfwgz8jf1/SAML2AssertionCreator.zip?dl=0&quot;&gt;here&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Exchange SAML token to Access Token&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;curl -k -d &quot;grant_type=urn:ietf:params:oauth:grant-type:saml2-bearer&amp;amp;assertion=&lt;b&gt;&amp;lt;SAML_ASSERTION obtained from above step &amp;gt;&lt;/b&gt;&amp;amp;scope=PRODUCTION&quot; -H &quot;&lt;b&gt;Authorization: Basic &amp;lt;base 64[consumer_key:consumer_secret] of desired API&lt;/b&gt;, Content-Type: application/x-www-form-urlencoded&quot; https://localhost:8243/token&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/8214919655570138400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2015/02/saml2-bearer-tokens-with-oauth2-tokens.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/8214919655570138400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/8214919655570138400'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2015/02/saml2-bearer-tokens-with-oauth2-tokens.html' title='SAML2 bearer tokens with OAuth2 tokens in WSO2 API Manager'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-25DohWURKmE/VOPyocE68FI/AAAAAAAAE5s/uF591uX3L8c/s72-c/SAML2%2Bto%2BOAuth.png" height="72" width="72"/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-4746837832031846143</id><published>2015-02-17T06:11:00.000-08:00</published><updated>2015-02-17T06:11:42.768-08:00</updated><title type='text'>Setting Proxy with mod_proxy with Basic Authorization</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;b&gt;Install mod_proxy and setup reverse proxy in Apache Webserver&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;Follow the given below steps.&lt;br /&gt;Note: In all given below example replace the value of ServerAdmin,ServerName &amp;amp; ServerAlias as per your server information&lt;br /&gt;&lt;br /&gt;Step 1: Install the module&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;sudo apt-get install libapache2-mod-proxy-html &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Step 2: Installing the dependency libxml2-dev&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;apt-get install libxml2-devStep 3: Load the module&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;a2enmod proxy proxy_http &lt;br /&gt;&lt;br /&gt;Step 4: Create the Virtual Host in apache configuration file . If your configuration is located in conf.d you have to do changes in that file. I am giving example with default setting in Apache Webserver in Ubuntu&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;vi /etc/apache2/sites-enabled/000-default&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Step 5: Following configuration allows user to access http service but it requires user to provide credentials, which is stored at /var/www/.htpasswd&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;background-color: white; color: #222222; font-family: Roboto, sans-serif; font-size: 16px; line-height: 26px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;  ServerName 192.168.56.102&lt;br /&gt;  SSLEngine off&lt;br /&gt;  ProxyPass /foo/ http://192.168.56.1:8280/&lt;br /&gt;&amp;lt;Proxy *&amp;gt;&lt;br /&gt;    Order Allow,Deny&lt;br /&gt;    Allow from all&lt;br /&gt;    AuthType Basic&lt;br /&gt;    AuthName &quot;Authenticated proxy&quot;&lt;br /&gt;    AuthUserFile  /var/www/.htpasswd&lt;br /&gt;    Require valid-user&lt;br /&gt;&amp;lt;/Proxy&amp;gt;&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-ge0_1BQ2hBQ/VOLRkIA_JdI/AAAAAAAAE4M/iZlHchZEZuQ/s1600/Snip20150217_38.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://1.bp.blogspot.com/-ge0_1BQ2hBQ/VOLRkIA_JdI/AAAAAAAAE4M/iZlHchZEZuQ/s1600/Snip20150217_38.png&quot; height=&quot;376&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-vhE92C7DU6Y/VOLR32nHIwI/AAAAAAAAE4U/MwR6xK0PbSI/s1600/Snip20150217_39.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-vhE92C7DU6Y/VOLR32nHIwI/AAAAAAAAE4U/MwR6xK0PbSI/s1600/Snip20150217_39.png&quot; height=&quot;376&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Step 6: Accessing https services, which requires to generate key pair of wso2carbon server and store as SSLCertificateFile/SSLCertificateKeyFile&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;generate key pair from wso2carbon.jks&lt;br /&gt;&lt;br /&gt;keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -deststoretype PKCS12 -srcalias &amp;lt;jkskeyalias&amp;gt; -deststorepass &amp;lt;password&amp;gt; -destkeypass &amp;lt;password&amp;gt;&lt;br /&gt;Export certificate.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;openssl pkcs12 -in keystore.p12 -nokeys -out cert.pem&lt;br /&gt;Export unencrypted private key.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;openssl pkcs12 -in keystore.p12 -nodes -nocerts -out key.pem&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Optional disabling CN check.&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;SSLProxyCheckPeerName off&lt;br /&gt; SSLProxyCheckPeerCN off&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt; SSLProxyEngine On&lt;br /&gt;SSLCertificateFile /home/dushan/cert.pem&lt;br /&gt;SSLCertificateKeyFile /home/dushan/key.pem&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SSLProxyCheckPeerName off&lt;br /&gt;   SSLProxyCheckPeerCN off&lt;br /&gt;#        CacheDisable *&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SSLEngine on&lt;br /&gt; ProxyPass /foo/ https://192.168.56.1:8243/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;Proxy *&amp;gt;&lt;br /&gt;    Order Allow,Deny&lt;br /&gt;    Allow from all&lt;br /&gt;    AuthType Basic&lt;br /&gt;    AuthName &quot;Authenticated proxy&quot;&lt;br /&gt;    AuthUserFile  /var/www/.htpasswd&lt;br /&gt;    Require valid-user&lt;br /&gt;&amp;lt;/Proxy&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/4746837832031846143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2015/02/setting-proxy-with-modproxy-with-basic.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/4746837832031846143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/4746837832031846143'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2015/02/setting-proxy-with-modproxy-with-basic.html' title='Setting Proxy with mod_proxy with Basic Authorization'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-ge0_1BQ2hBQ/VOLRkIA_JdI/AAAAAAAAE4M/iZlHchZEZuQ/s72-c/Snip20150217_38.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-6672139482801150908</id><published>2015-02-08T17:37:00.004-08:00</published><updated>2015-02-08T17:42:29.024-08:00</updated><title type='text'>Secure File Transfer with VFS (ESB FTP+SSL certificates)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;script src=&quot;http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shCore.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script src=&quot;http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCpp.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script src=&quot;http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCSharp.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script src=&quot;http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCss.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script src=&quot;http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushDelphi.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script src=&quot;http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushJava.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script src=&quot;http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushJScript.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script src=&quot;http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushPhp.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script src=&quot;http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushPython.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script src=&quot;http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushRuby.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script src=&quot;http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushSql.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script src=&quot;http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushVb.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;script src=&quot;http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushXml.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;&lt;br /&gt;&lt;script language=&quot;javascript&quot;&gt;dp.SyntaxHighlighter.BloggerMode(); dp.SyntaxHighlighter.HighlightAll(&#39;code&#39;); &lt;/script&gt; &lt;br /&gt;&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Hello, everyone this post I would discuss a new feature that enables us to share files between ESB and FTP server where FTP server establish connection through SSL certificates. will go step by step discussing how you could prepare FTP server to enable SSL and then share files between ESB&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Generating KeyPair&lt;/li&gt;&lt;ul&gt;&lt;li&gt;openssl genrsa -des3 -out dushan.key 1024&lt;/li&gt;&lt;li&gt;openssl req -new -x509 -days 365 -key dushan.key -out dushan.crt&lt;/li&gt;&lt;li&gt;Import certificate to ESB client-trust store&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;keytool -import -alias stan &amp;nbsp;-keystore client-truststore.jks -file dushan.crt&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;span style=&quot;color: #222222; font-family: arial, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #222222; font-family: arial, sans-serif;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: 12.8000001907349px;&quot;&gt;Used Filezilla client and server to demonstrate this scenario,&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/span&gt;&lt;/ul&gt;&lt;span style=&quot;color: #222222; font-family: arial, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-khRgZ0gi0SU/VNgG29tJl0I/AAAAAAAAExQ/VwuTO-sZiM8/s1600/Snip20150208_20.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://3.bp.blogspot.com/-khRgZ0gi0SU/VNgG29tJl0I/AAAAAAAAExQ/VwuTO-sZiM8/s1600/Snip20150208_20.png&quot; height=&quot;510&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12.8000001907349px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #222222; font-family: arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12.8000001907349px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-8H35YZgRIvg/VNgHW-HFIzI/AAAAAAAAExY/OrMoWnWQ8KA/s1600/Snip20150208_21.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://4.bp.blogspot.com/-8H35YZgRIvg/VNgHW-HFIzI/AAAAAAAAExY/OrMoWnWQ8KA/s1600/Snip20150208_21.png&quot; height=&quot;490&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style=&quot;color: #222222; font-family: arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 12.8000001907349px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;span style=&quot;font-size: 12.8000001907349px;&quot;&gt;You can configure VFS transport with&amp;nbsp;https://docs.wso2.com/pages/viewpage.action?pageId=26838852&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-size: 12.8000001907349px;&quot;&gt;Proxy Configuration looks as below&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-size: 12.8000001907349px;&quot;&gt;Please notice the configuration (special&amp;nbsp;notations) &#39;vfs.ssl.keystore&#39; ,&lt;/span&gt;&lt;span style=&quot;font-size: 12.8000001907349px;&quot;&gt;&#39;vfs.ssl.truststore&#39; ,&#39;vfs.ssl.tspassword&#39;,&#39;vfs.ssl.kspassword&#39;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;&lt;pre name=&quot;code&quot;&gt;&amp;lt;proxy xmlns=&quot;http://ws.apache.org/ns/synapse&quot;&lt;br /&gt;       name=&quot;VFSProxy&quot;&lt;br /&gt;       transports=&quot;vfs&quot;&lt;br /&gt;       statistics=&quot;disable&quot;&lt;br /&gt;       trace=&quot;disable&quot;&lt;br /&gt;       startOnLoad=&quot;true&quot;&amp;gt;&lt;br /&gt;   &amp;lt;target&amp;gt;&lt;br /&gt;      &amp;lt;inSequence&amp;gt;&lt;br /&gt;         &amp;lt;property name=&quot;OUT_ONLY&quot; value=&quot;true&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;property name=&quot;transport.vfs.ReplyFileName&quot;&lt;br /&gt;                   expression=&quot;fn:concat(fn:substring-after(get-property(&#39;MessageID&#39;), &#39;urn:uuid:&#39;), &#39;.csv&#39;)&quot;&lt;br /&gt;                   scope=&quot;transport&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;property name=&quot;messageType&quot; value=&quot;text/plain&quot; scope=&quot;axis2&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;property name=&quot;ClientApiNonBlocking&quot; scope=&quot;axis2&quot; action=&quot;remove&quot;/&amp;gt;&lt;br /&gt;         &amp;lt;send&amp;gt;&lt;br /&gt;            &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;lt;endpoint&amp;gt;&lt;br /&gt;               &amp;lt;address uri=&quot;vfs:ftps://dushan:12345@192.168.56.102/test?vfs.ssl.keystore=/Users/dushan/workspace/onlinesupport/ESB/wso2esb-4.8.1/repository/resources/security/wso2carbon.jks&amp;amp;amp;vfs.ssl.truststore=/Users/dushan/workspace/onlinesupport/ESB/wso2esb-4.8.1/repository/resources/security/client-truststore.jks&amp;amp;amp;vfs.ssl.kspassword=wso2carbon&amp;amp;amp;vfs.ssl.tspassword=wso2carbon&amp;amp;amp;vfs.ssl.keypassword=wso2carbon&quot;/&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;            &amp;lt;/endpoint&amp;gt;&lt;br /&gt;         &amp;lt;/send&amp;gt;&lt;br /&gt;         &amp;lt;drop/&amp;gt;&lt;br /&gt;      &amp;lt;/inSequence&amp;gt;&lt;br /&gt;   &amp;lt;/target&amp;gt;&lt;br /&gt;   &amp;lt;parameter name=&quot;transport.PollInterval&quot;&amp;gt;10&amp;lt;/parameter&amp;gt;&lt;br /&gt;   &amp;lt;parameter name=&quot;transport.vfs.ActionAfterProcess&quot;&amp;gt;MOVE&amp;lt;/parameter&amp;gt;&lt;br /&gt;   &amp;lt;parameter name=&quot;transport.vfs.FileURI&quot;&amp;gt;file:///Users/xx/in&amp;lt;/parameter&amp;gt;&lt;br /&gt;   &amp;lt;parameter name=&quot;transport.vfs.MoveAfterProcess&quot;&amp;gt;file:///Users/xx/processed&amp;lt;/parameter&amp;gt;&lt;br /&gt;   &amp;lt;parameter name=&quot;transport.vfs.MoveAfterFailure&quot;&amp;gt;file:///Users/xx/fail&amp;lt;/parameter&amp;gt;&lt;br /&gt;   &amp;lt;parameter name=&quot;transport.vfs.FileNamePattern&quot;&amp;gt;.*.csv&amp;lt;/parameter&amp;gt;&lt;br /&gt;   &amp;lt;parameter name=&quot;transport.vfs.ContentType&quot;&amp;gt;text/plain&amp;lt;/parameter&amp;gt;&lt;br /&gt;   &amp;lt;parameter name=&quot;transport.vfs.ActionAfterFailure&quot;&amp;gt;MOVE&amp;lt;/parameter&amp;gt;&lt;br /&gt;   &amp;lt;description&amp;gt;Custom file reader proxy for CAP mainframe file. This will perform transformation to DP v2 structure and store data into Vertica&amp;lt;/description&amp;gt;&lt;br /&gt;&amp;lt;/proxy&amp;gt;&lt;/pre&gt;&lt;pre name=&quot;code&quot;&gt;&lt;/pre&gt;&lt;pre name=&quot;code&quot;&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;li&gt;Fail to add public certificates  would result errors as follows&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;... 16 more&lt;br /&gt;Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target&lt;br /&gt; at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)&lt;br /&gt; at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)&lt;br /&gt; at sun.security.validator.Validator.validate(Validator.java:260)&lt;br /&gt; at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)&lt;br /&gt; at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)&lt;br /&gt; at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126)&lt;br /&gt; at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1421)&lt;br /&gt; ... 27 more&lt;br /&gt;Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target&lt;/div&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class=&quot;Cpp&quot; name=&quot;code&quot;&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/6672139482801150908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2015/02/secure-file-transfer-with-vfs-esb.html#comment-form' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/6672139482801150908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/6672139482801150908'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2015/02/secure-file-transfer-with-vfs-esb.html' title='Secure File Transfer with VFS (ESB FTP+SSL certificates)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-khRgZ0gi0SU/VNgG29tJl0I/AAAAAAAAExQ/VwuTO-sZiM8/s72-c/Snip20150208_20.png" height="72" width="72"/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-809041868417784351</id><published>2014-06-27T03:08:00.003-07:00</published><updated>2014-07-29T11:40:41.931-07:00</updated><title type='text'>Transaction ESB + DSS</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;This particular synapse configuration demos , when transaction failure scenario when box_carring is enabled.&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;br /&gt;&amp;lt;proxy xmlns=&quot;http://ws.apache.org/ns/synapse&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;TransactionProxy&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transports=&quot;https,http&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;statistics=&quot;disable&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;trace=&quot;disable&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startOnLoad=&quot;true&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;target&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;inSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;log/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;log level=&quot;custom&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&quot;M2&quot; value=&quot;************HITTING Transaction PROXY************&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/log&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;header name=&quot;Action&quot; value=&quot;urn:begin_boxcar&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;setCookieHeader&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;expression=&quot;$trp:Set-Cookie&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scope=&quot;default&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type=&quot;STRING&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;payloadFactory media-type=&quot;xml&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;format&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmlns:dat=&quot;http://ws.wso2.org/dataservice&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soapenv:Header/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soapenv:Body&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dat:begin_boxcar/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/soapenv:Body&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/soapenv:Envelope&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/format&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;args/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/payloadFactory&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;endpoint&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;address uri=&quot;http://localhost:9764/services/Persons_DataService.SOAP11Endpoint/&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/endpoint&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/call&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;setCookieHeader&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;expression=&quot;$trp:Set-Cookie&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scope=&quot;default&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type=&quot;STRING&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;payloadFactory media-type=&quot;xml&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;format&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmlns:dat=&quot;http://ws.wso2.org/dataservice&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soapenv:Header/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soapenv:Body&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dat:insert_Persons_operation&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dat:PersonID&amp;gt;1&amp;lt;/dat:PersonID&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dat:LastName&amp;gt;test&amp;lt;/dat:LastName&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dat:FirstName&amp;gt;test22&amp;lt;/dat:FirstName&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dat:insert_Persons_operation&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/soapenv:Body&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/soapenv:Envelope&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/format&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;args/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/payloadFactory&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;log level=&quot;custom&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&quot;JSESSIONID&quot; expression=&quot;get-property(&#39;setCookieHeader&#39;)&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/log&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;Cookie&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;expression=&quot;$trp:Set-Cookie&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scope=&quot;transport&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type=&quot;STRING&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;header name=&quot;Action&quot; value=&quot;urn:urn:insert_Persons_operation&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;endpoint&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;address uri=&quot;http://localhost:9764/services/Persons_DataService.SOAP11Endpoint/&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; format=&quot;soap11&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/endpoint&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/call&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;payloadFactory media-type=&quot;xml&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;format&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmlns:dat=&quot;http://ws.wso2.org/dataservice&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soapenv:Header/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soapenv:Body&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dat:insert_Persons_operation&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dat:PersonID&amp;gt;2&amp;lt;/dat:PersonID&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dat:LastName&amp;gt;mmm&amp;lt;/dat:LastName&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;dat:FirstName&amp;gt;mmmmm&amp;lt;/dat:FirstName&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/dat:insert_Persons_operation&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/soapenv:Body&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/soapenv:Envelope&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/format&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;args/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/payloadFactory&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;log level=&quot;custom&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&quot;JSESSIONID&quot; expression=&quot;get-property(&#39;setCookieHeader&#39;)&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/log&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;Cookie&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;expression=&quot;$ctx:setCookieHeader&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scope=&quot;transport&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type=&quot;STRING&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;header name=&quot;Action&quot; value=&quot;urn:urn:insert_Persons_operation&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;&amp;lt;call&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;endpoint&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;address uri=&quot;http://localhost:9764/services/Persons_DataService.SOAP11Endpoint_invalid/&quot;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; format=&quot;soap11&quot;/&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/endpoint&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/call&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;switch source=&quot;$axis2:HTTP_SC&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;case regex=&quot;2[0-9][0-9]&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;payloadFactory media-type=&quot;xml&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;format&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xmlns:dat=&quot;http://ws.wso2.org/dataservice&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soapenv:Header/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soapenv:Body&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;dat:end_boxcar/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/soapenv:Body&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/soapenv:Envelope&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/format&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;args/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/payloadFactory&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;Cookie&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;expression=&quot;get-property(&#39;setCookieHeader&#39;)&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scope=&quot;transport&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type=&quot;STRING&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;header name=&quot;Action&quot; value=&quot;urn:end_boxcar&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;call&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;endpoint&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;address uri=&quot;http://localhost:9764/services/Persons_DataService.SOAP11Endpoint/&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; format=&quot;soap11&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/endpoint&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/call&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/case&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;case regex=&quot;404&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;ERROR_CODE&quot; value=&quot;600404&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;ERROR_MESSAGE&quot; value=&quot;Not Found&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/case&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;case regex=&quot;400&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;ERROR_CODE&quot; value=&quot;600400&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;ERROR_MESSAGE&quot; value=&quot;Bad Request&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/case&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;case regex=&quot;500&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;ERROR_CODE&quot; value=&quot;600500&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;ERROR_MESSAGE&quot; value=&quot;Internal Server Error&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/case&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/switch&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;filter source=&quot;$axis2:HTTP_SC&quot; regex=&quot;^[^2][0-9][0-9]&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;then&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;makefault version=&quot;soap11&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;code expression=&quot;get-property(&#39;ERROR_CODE&#39;)&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;reason expression=&quot;get-property(&#39;ERROR_MESSAGE&#39;)&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;detail/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/makefault&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/then&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/filter&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;respond/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/inSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;outSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;drop/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/outSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;description/&amp;gt;&lt;br /&gt;&amp;lt;/proxy&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;Data Service Server&lt;br /&gt;&lt;br /&gt;&amp;lt;data description=&quot;multiple services per each table&quot; enableBatchRequests=&quot;false&quot; enableBoxcarring=&quot;true&quot; name=&quot;Persons_DataService&quot; serviceNamespace=&quot;http://ws.wso2.org/dataservice&quot; serviceStatus=&quot;active&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;config id=&quot;default&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&quot;carbon_datasource_name&quot;&amp;gt;mysql&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/config&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;query id=&quot;insert_Persons_query&quot; useConfig=&quot;default&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;sql&amp;gt;INSERT INTO Persons(PersonID,LastName,FirstName) VALUES(?,?,?)&amp;lt;/sql&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;param name=&quot;PersonID&quot; ordinal=&quot;1&quot; paramType=&quot;SCALAR&quot; sqlType=&quot;INTEGER&quot; type=&quot;IN&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;param name=&quot;LastName&quot; ordinal=&quot;2&quot; paramType=&quot;SCALAR&quot; sqlType=&quot;STRING&quot; type=&quot;IN&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;param name=&quot;FirstName&quot; ordinal=&quot;3&quot; paramType=&quot;SCALAR&quot; sqlType=&quot;STRING&quot; type=&quot;IN&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/query&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;query id=&quot;select_all_Persons_query&quot; useConfig=&quot;default&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;sql&amp;gt;SELECT PersonID, LastName, FirstName FROM Persons&amp;lt;/sql&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;result element=&quot;PersonsCollection&quot; rowName=&quot;Persons&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;element column=&quot;PersonID&quot; name=&quot;PersonID&quot; xsdType=&quot;xs:integer&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;element column=&quot;LastName&quot; name=&quot;LastName&quot; xsdType=&quot;xs:string&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;element column=&quot;FirstName&quot; name=&quot;FirstName&quot; xsdType=&quot;xs:string&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/result&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/query&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;operation name=&quot;insert_Persons_operation&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;call-query href=&quot;insert_Persons_query&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;with-param name=&quot;PersonID&quot; query-param=&quot;PersonID&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;with-param name=&quot;FirstName&quot; query-param=&quot;FirstName&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;with-param name=&quot;LastName&quot; query-param=&quot;LastName&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/call-query&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/operation&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;operation name=&quot;select_all_Persons_operation&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;call-query href=&quot;select_all_Persons_query&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/operation&amp;gt;&lt;br /&gt;&amp;lt;/data&amp;gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Logs&lt;br /&gt;====&lt;br /&gt;[2014-07-29 14:30:28,609] DEBUG - wire &amp;gt;&amp;gt; &quot;[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,610] &amp;nbsp;INFO - LogMediator JSESSIONID = JSESSIONID=98D714A6825F25D333E87A1389C005DB; Path=/; HttpOnly&lt;br /&gt;[2014-07-29 14:30:28,616] DEBUG - wire &amp;lt;&amp;lt; &quot;POST /services/Persons_DataService.SOAP11Endpoint_invalid/ HTTP/1.1[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,616] DEBUG - wire &amp;lt;&amp;lt; &quot;Cookie: JSESSIONID=98D714A6825F25D333E87A1389C005DB; Path=/; HttpOnly[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,616] DEBUG - wire &amp;lt;&amp;lt; &quot;Content-Type: text/xml[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,616] DEBUG - wire &amp;lt;&amp;lt; &quot;SOAPAction: &quot;urn:urn:insert_Persons_operation&quot;[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,617] DEBUG - wire &amp;lt;&amp;lt; &quot;Transfer-Encoding: chunked[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,617] DEBUG - wire &amp;lt;&amp;lt; &quot;Host: localhost:9764[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,617] DEBUG - wire &amp;lt;&amp;lt; &quot;Connection: Keep-Alive[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,617] DEBUG - wire &amp;lt;&amp;lt; &quot;User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,617] DEBUG - wire &amp;lt;&amp;lt; &quot;[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,618] DEBUG - wire &amp;lt;&amp;lt; &quot;18d[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,618] DEBUG - wire &amp;lt;&amp;lt; &quot;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&amp;lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:dat=&quot;http://ws.wso2.org/dataservice&quot;&amp;gt;&amp;lt;soapenv:Header&amp;gt;&amp;lt;/soapenv:Header&amp;gt;&amp;lt;soapenv:Body&amp;gt;&amp;lt;dat:insert_Persons_operation&amp;gt;&amp;lt;dat:PersonID&amp;gt;2&amp;lt;/dat:PersonID&amp;gt;&amp;lt;dat:LastName&amp;gt;mmm&amp;lt;/dat:LastName&amp;gt;&amp;lt;dat:FirstName&amp;gt;mmmmm&amp;lt;/dat:FirstName&amp;gt;&amp;lt;/dat:insert_Persons_operation&amp;gt;&amp;lt;/soapenv:Body&amp;gt;&amp;lt;/soapenv:Envelope&amp;gt;[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,618] DEBUG - wire &amp;lt;&amp;lt; &quot;0[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,618] DEBUG - wire &amp;lt;&amp;lt; &quot;[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,624] DEBUG - wire &amp;gt;&amp;gt; &quot;HTTP/1.1 500 Internal Server Error[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,624] DEBUG - wire &amp;gt;&amp;gt; &quot;Content-Type: text/xml;charset=UTF-8[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,624] DEBUG - wire &amp;gt;&amp;gt; &quot;Transfer-Encoding: chunked[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,624] DEBUG - wire &amp;gt;&amp;gt; &quot;Date: Tue, 29 Jul 2014 18:30:28 GMT[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,624] DEBUG - wire &amp;gt;&amp;gt; &quot;Connection: close[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,624] DEBUG - wire &amp;gt;&amp;gt; &quot;Server: WSO2 Carbon Server[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,625] DEBUG - wire &amp;gt;&amp;gt; &quot;[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,625] DEBUG - wire &amp;gt;&amp;gt; &quot;1d5[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,625] DEBUG - wire &amp;gt;&amp;gt; &quot;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&amp;lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&amp;gt;&amp;lt;soapenv:Body&amp;gt;&amp;lt;soapenv:Fault xmlns:axis2ns6=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&amp;gt;&amp;lt;faultcode&amp;gt;axis2ns6:Client&amp;lt;/faultcode&amp;gt;&amp;lt;faultstring&amp;gt;The service cannot be found for the endpoint reference (EPR) http://localhost:9764/services/Persons_DataService.SOAP11Endpoint_invalid/&amp;lt;/faultstring&amp;gt;&amp;lt;detail&amp;gt;&amp;lt;/detail&amp;gt;&amp;lt;/soapenv:Fault&amp;gt;&amp;lt;/soapenv:Body&amp;gt;&amp;lt;/soapenv:Envelope&amp;gt;[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,626] DEBUG - wire &amp;gt;&amp;gt; &quot;0[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,626] DEBUG - wire &amp;gt;&amp;gt; &quot;[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,630] DEBUG - wire &amp;lt;&amp;lt; &quot;HTTP/1.1 500 Internal Server Error[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,631] DEBUG - wire &amp;lt;&amp;lt; &quot;Content-Type: text/xml;charset=UTF-8[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,631] DEBUG - wire &amp;lt;&amp;lt; &quot;Date: Tue, 29 Jul 2014 18:30:28 GMT[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,631] DEBUG - wire &amp;lt;&amp;lt; &quot;Server: WSO2-PassThrough-HTTP[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,632] DEBUG - wire &amp;lt;&amp;lt; &quot;Transfer-Encoding: chunked[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,632] DEBUG - wire &amp;lt;&amp;lt; &quot;Connection: Keep-Alive[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,632] DEBUG - wire &amp;lt;&amp;lt; &quot;[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,632] DEBUG - wire &amp;lt;&amp;lt; &quot;165[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,632] DEBUG - wire &amp;lt;&amp;lt; &quot;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&amp;lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&amp;gt;&amp;lt;soapenv:Body&amp;gt;&amp;lt;soapenv:Fault&amp;gt;&amp;lt;faultcode xmlns:axis2ns44=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&amp;gt;axis2ns44:600500&amp;lt;/faultcode&amp;gt;&amp;lt;faultstring&amp;gt;Internal Server Error&amp;lt;/faultstring&amp;gt;&amp;lt;detail&amp;gt;&amp;lt;/detail&amp;gt;&amp;lt;/soapenv:Fault&amp;gt;&amp;lt;/soapenv:Body&amp;gt;&amp;lt;/soapenv:Envelope&amp;gt;[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,632] DEBUG - wire &amp;lt;&amp;lt; &quot;0[\r][\n]&quot;&lt;br /&gt;[2014-07-29 14:30:28,633] DEBUG - wire &amp;lt;&amp;lt; &quot;[\r][\n]&quot;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/809041868417784351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2014/06/transaction-esb-dss.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/809041868417784351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/809041868417784351'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2014/06/transaction-esb-dss.html' title='Transaction ESB + DSS'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-4564279386923480109</id><published>2014-04-10T09:18:00.001-07:00</published><updated>2014-04-10T09:19:17.782-07:00</updated><title type='text'>TCP Transport in Proxy WSO2 ESB</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Its simple you need do following steps&lt;br /&gt;&lt;br /&gt;First make sure you have enabled transport reciver for tcp in axis2.xml (repository/conf/axis2/axis2.xml)&lt;br /&gt;&lt;br /&gt;&amp;lt;transportReceiver name=&quot;tcp&quot; class=&quot;org.apache.axis2.transport.tcp.TCPTransportListener&quot; /&amp;gt;&lt;br /&gt;&amp;lt;transportSender name=&quot;tcp&quot; class=&quot;org.apache.axis2.transport.tcp.TCPTransportSender&quot;/&amp;gt; &lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;proxy xmlns=&quot;http://ws.apache.org/ns/synapse&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;TCPProxy&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transports=&quot;https,http&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;statistics=&quot;disable&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;trace=&quot;disable&quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startOnLoad=&quot;true&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;lt;target&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;inSequence&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;log level=&quot;full&quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/inSequence&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;outSequence&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;send/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/outSequence&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;lt;parameter name=&quot;transport.tcp.port&quot;&amp;gt;6789&amp;lt;/parameter&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;lt;parameter name=&quot;transport.tcp.contentType&quot;&amp;gt;application/xml&amp;lt;/parameter&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;lt;description/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;lt;/proxy&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;import java.io.*;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;import java.net.*;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;class TCPClient {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;String host = &quot;localhost&quot;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;int port = 6789;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Socket socket = null;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public static void main(String args[]) throws Exception {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;String name = &quot;Amani&quot;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;TCPClient client = new TCPClient();&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;String message =&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&amp;lt;soapenv:Envelope xmlns:soapenv=\&quot;http://schemas.xmlsoap.org/soap/envelope/\&quot; xmlns:xsd=\&quot;http://www.w3.org/2001/XMLSchema\&quot; xmlns:xsi=\&quot;http://www.w3.org/2001/XMLSchema-instance\&quot;&amp;gt;\n&quot; +&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&amp;lt;soapenv:Header/&amp;gt;\n&quot; +&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&amp;lt;soapenv:Body&amp;gt;\n&quot; +&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot; &amp;nbsp;&amp;lt;p:greet xmlns:p=\&quot;http://greet.service.amani.org\&quot;&amp;gt;\n&quot; +&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot; &amp;nbsp; &amp;nbsp; &amp;lt;in&amp;gt;&quot; +&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; name +&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&amp;lt;/in&amp;gt;\n&quot; +&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot; &amp;nbsp;&amp;lt;/p:greet&amp;gt;\n&quot; +&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;//&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&amp;lt;/soapenv:Body&amp;gt;\n&quot; + &quot;&amp;lt;/soapenv:Envelope&amp;gt;&quot;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;client.SendToServer(&quot;&amp;lt;test&amp;gt;&amp;lt;/test&amp;gt;&quot;);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;client.close();&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;TCPClient(String _host, int _port) throws Exception {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;host = _host;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;port = _port;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;socket = new Socket(host, port);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;TCPClient() throws Exception {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;socket = new Socket(host, port);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;void SendToServer(String msg) throws Exception {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;// create output stream attached to socket&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;PrintWriter outToServer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;// send msg to server&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;outToServer.print(msg + &#39;\n&#39;);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;outToServer.flush();&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;String RecieveFromServer() throws Exception {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;// create input stream attached to socket&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;BufferedReader inFromServer =&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new BufferedReader(&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new InputStreamReader(&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; socket.getInputStream()));&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;// read line from server&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;String res = inFromServer.readLine(); // if connection closes on server&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;           &lt;/span&gt; &amp;nbsp;// end, this throws&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;           &lt;/span&gt; &amp;nbsp;// java.net.SocketException&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;return res;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;void close() throws IOException {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;socket.close();&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/4564279386923480109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2014/04/tcp-transport-in-proxy-wso2-esb.html#comment-form' title='31 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/4564279386923480109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/4564279386923480109'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2014/04/tcp-transport-in-proxy-wso2-esb.html' title='TCP Transport in Proxy WSO2 ESB'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>31</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-8954912035254469135</id><published>2014-02-18T09:54:00.002-08:00</published><updated>2014-02-23T08:45:37.351-08:00</updated><title type='text'>STILL WSO2 ESB THE FASTEST ON EARTH</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;WSO2 ESB team released the latest benchmark &lt;a href=&quot;http://wso2.com/library/articles/2014/02/esb-performance-round-7.5/&quot;&gt;ESB Performance Round 7.5&lt;/a&gt; ,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;the result tests are based on the previous serious of performance test carried by different vendors.&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;The main idea of this article is to provide the facts that WSO2 ESB still holding the position as the fastest message mediation engine with w&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;ith minimum latency.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;The test cases were executed by categorizing the sections, such as Passthough Invocation, Content Base&amp;nbsp;Routing&amp;nbsp;(CBR),Content Header Base Routing (CHBR), and&amp;nbsp;Security&amp;nbsp;scenarios.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; The test cases were&amp;nbsp;designed&amp;nbsp;to measure the throughput&amp;nbsp;(TPS) under&amp;nbsp;different&amp;nbsp;concurrences&amp;nbsp;with different size of messages and to get more visualization aspect, we did a&amp;nbsp;summery&amp;nbsp;graph and out of different vendors such as Ultra ESB,Teland ESB, It was clearly visualize that WSO2 outcomes others by considerable&amp;nbsp;margin&amp;nbsp;when&amp;nbsp;the&amp;nbsp;average&amp;nbsp;calculated.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; And also when considering the individual scenarios; WSO2&amp;nbsp;ESB performed well without seen any exception or any payload&amp;nbsp;corruptions and to verify this&amp;nbsp;further more; WSO2 team run&amp;nbsp;corruption&amp;nbsp;checker and also used Jmeter response assertion to make sure there won&#39;t be any corruption under different high&amp;nbsp;concurrences.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;Nevertheless&amp;nbsp;Surprisingly,&amp;nbsp;we did observe&amp;nbsp;improvements&amp;nbsp;of Mule ESB,&amp;nbsp;which&amp;nbsp;we have noted that it performs well over Ultra ESB for some&amp;nbsp;use cases such as&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;CBR, CHBR&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;Anyway, the main fact that this article trying to bid, the claims made by some vendors by arguing the default pack which does&amp;nbsp;the payload&amp;nbsp;corruption,but yes we did identified such claim but, never&amp;nbsp;with the default setting , it was with the StreamXpath where this&amp;nbsp;was due to a very&amp;nbsp;negligible&amp;nbsp;error which we have fixed in no time.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;b&gt;Why we did ESB Performance round 7.5 ?&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; The main reason why WSO2 did this because as&amp;nbsp;professional,we need to make&amp;nbsp;sure that WSO2 ESB is the strongest and the well performed ESB available&amp;nbsp;in the market and we need to make sure that we did answer the questions&amp;nbsp;raised&amp;nbsp;by ESB PERFORMANCE ROUND 7.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;When&amp;nbsp;considering the OPEN source nature I think WSO2 ESB is the only ESB that has much features that allow different users to&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;try them freely and the source is open and they could see anything, and WSO2 welcomes the open community ideas, and again WSO2 ESB do not have any&amp;nbsp;sort of hidden code which not sharable or&amp;nbsp;available&amp;nbsp;under different&amp;nbsp;license.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Finally, I know this would hurt few guys/organizations&amp;nbsp;because they put such effort by spending days and nights to QA other vendors products and&amp;nbsp;written&amp;nbsp;article by highlighting issues/errors which they found as disaster, I Know we will see a&amp;nbsp;&lt;b&gt;Performance&amp;nbsp;Round 8, sooner rather than later because the guys who claims to be the champions now are in at 3rd place so they need to bring their act to&amp;nbsp;gather&amp;nbsp;and need response faster, I think they should&amp;nbsp;now need to plan different execution scenarios for the next round such as JSON, JSON Path&amp;nbsp;evaluation, and we know RESTful invocations are now becoming the huge topic and people waiting to see ESB&#39;s performance in JSON related&amp;nbsp;usecases.But the&amp;nbsp;bottom-line&amp;nbsp;is still WSO2 ESB will hold the leading&amp;nbsp;position.. bet my word...! &amp;nbsp;Enjoy...&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height=&quot;106&quot; src=&quot;https://wso2.com/files/ESB%20performance%207.5_table.png&quot; width=&quot;400&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img height=&quot;198&quot; src=&quot;https://wso2.com/files/ESB%20performance%207.5_chart_0.png&quot; width=&quot;400&quot; /&gt;b&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/8954912035254469135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2014/02/still-wso2-esb-fastest-on-earth.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/8954912035254469135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/8954912035254469135'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2014/02/still-wso2-esb-fastest-on-earth.html' title='STILL WSO2 ESB THE FASTEST ON EARTH'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-25919439386846890</id><published>2014-02-04T03:11:00.002-08:00</published><updated>2014-02-04T03:11:39.348-08:00</updated><title type='text'>The WSO2 Enterprise Service Bus (ESB) 4.8.1 Released!</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;h1&gt;&lt;br /&gt;&lt;/h1&gt;WSO2 ESB team is pleased to announce the release of version 4.8.1 of the Open Source Enterprise Service Bus (ESB).&lt;br /&gt;WSO2 ESB is a fast, lightweight and user friendly open source Enterprise Service Bus (ESB) distributed under the&amp;nbsp;&lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0.html&quot;&gt;Apache Software License v2.0&lt;/a&gt;. WSO2 ESB allows system administrators and developers to easily configure message routing, intermediation, transformation, logging, task scheduling, fail over routing and load balancing. It also supports transport switching, eventing, rule based mediation and priority based mediation for advanced integration requirements. The ESB runtime is designed to be completely asynchronous, non-blocking and streaming based on the&amp;nbsp;&lt;a href=&quot;http://synapse.apache.org/&quot;&gt;Apache Synapse&lt;/a&gt;&amp;nbsp;mediation engine.&lt;br /&gt;WSO2 ESB 4.8.1 is developed on top of the revolutionary&amp;nbsp;&lt;a href=&quot;http://wso2.org/projects/carbon&quot;&gt;WSO2 Carbon platform&lt;/a&gt;&amp;nbsp;(Middleware a&#39; la carte), an OSGi based framework that provides seamless modularity to your SOA via componentization. This release also contains many new features and a range of optional components (add-ons) that can be installed to customize the behavior of the ESB. Further, any existing features of the ESB which are not required to your environment can be easily removed using the underlying provisioning framework of Carbon. In brief, WSO2 ESB can be fully customized and tailored to meet your exact SOA needs.&lt;br /&gt;You can download this distribution from&amp;nbsp;&lt;a href=&quot;http://wso2.com/products/enterprise-service-bus/&quot;&gt;http://wso2.com/products/enterprise-service-bus/&lt;/a&gt;&amp;nbsp;and give it a try.&lt;br /&gt;&lt;h2&gt;How to Run&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Extract the downloaded zip&lt;/li&gt;&lt;li&gt;Go to the bin directory in the extracted folder&lt;/li&gt;&lt;li&gt;Run the wso2server.sh or wso2server.bat as appropriate&lt;/li&gt;&lt;li&gt;Point your browser to the URL https://localhost:9443/carbon&lt;/li&gt;&lt;li&gt;Use &quot;admin&quot;, &quot;admin&quot; as the username and password to login as an admin&lt;/li&gt;&lt;li&gt;If you need to start the OSGi console with the server use the property -DosgiConsole when starting the server. The INSTALL.txt file found on the installation directory will give you a comprehensive set of options and properties that can be passed into the startup script&lt;/li&gt;&lt;li&gt;Sample configurations can be started by the wso2esb-samples script passing the sample number with the -sn option (Please have a look at the samples guide for more information, on running samples)&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;Enhancements in WSO2 ESB 4.8.1&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;HL7 Message Store Implementation with Console for message audit and replay&lt;/li&gt;&lt;li&gt;Thread Pooled HL7 Server Endpoints&lt;/li&gt;&lt;li&gt;Improvements for working with Invalid HL7 Messages&lt;/li&gt;&lt;li&gt;Enhancing FAST XSLT Mediator.&lt;/li&gt;&lt;li&gt;cApp deployment enhacements and stabilizing class mediator hot deployment.&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Key Features of WSO2 ESB&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Proxy services - facilitating synchronous/asynchronous transport, interface (WSDL/Schema/Policy), message format (SOAP 1.1/1.2, POX/REST, Text, Binary), QoS (WS-Addressing/WS-Security) and optimization switching (MTOM/SwA).&lt;/li&gt;&lt;li&gt;API facilitating building REST APIs&lt;/li&gt;&lt;li&gt;Non-blocking HTTP/S transports based on Apache HttpCore-NIO for ultra-fast execution and support for thousands of connections at high concurrency with constant memory usage.&lt;/li&gt;&lt;li&gt;Built in Registry/Repository, facilitating dynamic updating and reloading of the configuration and associated resources (e.g. XSLTs, XSD, WSDL, Policies, JS configurations ..)&lt;/li&gt;&lt;li&gt;Easily extendable via custom Java classes (mediator and command)/Spring configurations, or BSF Scripting languages (Javascript, Ruby, Groovy, etc.)&lt;/li&gt;&lt;li&gt;Built in support for scheduling tasks using the Quartz scheduler.&lt;/li&gt;&lt;li&gt;Load-balancing (with or without sticky sessions)/Fail-over, and clustered Throttling and Caching support&lt;/li&gt;&lt;li&gt;WS-Security, Caching &amp;amp; Throttling configurable via (message/operation/service level) WS-Policies&lt;/li&gt;&lt;li&gt;Lightweight, XML and Web services centric messaging model&lt;/li&gt;&lt;li&gt;Support for industrial standards (Hessian binary web service protocol/ Financial Information eXchange protocol and optional Health Level-7 protocol)&lt;/li&gt;&lt;li&gt;Enhanced support for the VFS (File/FTP/SFTP), JMS, Mail transports with optional TCP/UDP transports and transport switching among any of the above transports&lt;/li&gt;&lt;li&gt;Support for message splitting &amp;amp; aggregation using the EIP and service callouts&lt;/li&gt;&lt;li&gt;Database lookup &amp;amp; store support with DBMediators with reusable database connection pools&lt;/li&gt;&lt;li&gt;WS-Eventing support&lt;/li&gt;&lt;li&gt;Rule based mediation of the messages using the Drools rule engine&lt;/li&gt;&lt;li&gt;Transactions support via the JMS transport and Transaction mediator for database mediators&lt;/li&gt;&lt;li&gt;Internationalized GUI management console with user management for configuration development&lt;/li&gt;&lt;li&gt;Integrated monitoring support with statistics, configurable logging and tracing&lt;/li&gt;&lt;li&gt;JMX monitoring support and JMX management capabilities like, Graceful/Forceful shutdown/restart&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Bugs Fixed in This Release&lt;/h2&gt;This release of WSO2 ESB comes with a number of bug fixes, both in the base framework and the ESB specific components. All the issues which have been fixed in ESB 4.8.1 are recorded at following locations:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://wso2.org/jira/issues/?filter=11719&quot;&gt;Fixed ESB specific issues&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Known Issues&lt;/h2&gt;All the open issues pertaining to WSO2 ESB 4.8.1 are reported at following locations:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://wso2.org/jira/issues/?filter=11178&quot;&gt;WSO2 ESB 4.8.1 component issues&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;How You Can Contribute&lt;/h2&gt;&lt;h3&gt;Mailing Lists&lt;/h3&gt;Join our mailing list and correspond with the developers directly.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Developer List :&amp;nbsp;&lt;a href=&quot;mailto:dev@wso2.org&quot;&gt;dev@wso2.org&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href=&quot;mailto:dev-request@wso2.org?subject=subscribe&quot;&gt;Subscribe&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href=&quot;http://mail.wso2.org/mailarchive/dev/&quot;&gt;Mail Archive&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Reporting Issues&lt;/h3&gt;We encourage you to report issues, documentation faults and feature requests regarding WSO2 ESB through the public&amp;nbsp;&lt;a href=&quot;http://www.wso2.org/jira/browse/ESBJAVA&quot;&gt;ESB JIRA&lt;/a&gt;. You can use the&amp;nbsp;&lt;a href=&quot;http://www.wso2.org/jira/browse/CARBON&quot;&gt;Carbon JIRA&lt;/a&gt;&amp;nbsp;to report any issues related to the Carbon base framework or associated Carbon components.&lt;br /&gt;&lt;h3&gt;Discussion Forums&lt;/h3&gt;Alternatively, questions could be raised on&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/questions/tagged/wso2&quot;&gt;http://stackoverflow.com&lt;/a&gt;.&lt;br /&gt;&lt;h2&gt;Support&lt;/h2&gt;We are committed to ensuring that your enterprise middleware deployment is completely supported from evaluation to production. Our unique approach ensures that all support leverages our open development methodology and is provided by the very same engineers who build the technology.&lt;br /&gt;For more details and to take advantage of this unique opportunity please visit&amp;nbsp;&lt;a href=&quot;http://wso2.com/support&quot;&gt;http://wso2.com/support&lt;/a&gt;.&lt;br /&gt;For more information about WSO2 ESB please see&amp;nbsp;&lt;a href=&quot;http://wso2.com/products/enterprise-service-bus/&quot;&gt;http://wso2.com/products/enterprise-service-bus&lt;/a&gt;.&lt;br /&gt;&lt;i&gt;-- The WSO2 ESB Team --&lt;/i&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/25919439386846890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2014/02/the-wso2-enterprise-service-bus-esb-481.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/25919439386846890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/25919439386846890'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2014/02/the-wso2-enterprise-service-bus-esb-481.html' title='The WSO2 Enterprise Service Bus (ESB) 4.8.1 Released!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-629201955037632260</id><published>2013-11-21T01:13:00.001-08:00</published><updated>2013-11-21T01:13:06.568-08:00</updated><title type='text'>Invoking Secure Service (UT enabled) Via Non Secure Client -Part 2</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Enabling policy&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;br /&gt;&amp;lt;proxy xmlns=&quot;http://ws.apache.org/ns/synapse&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;NonSecureProxyPolicy&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transports=&quot;https,http&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;statistics=&quot;disable&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;trace=&quot;disable&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startOnLoad=&quot;true&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;target&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;inSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;log level=&quot;full&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&quot;INNNNN&quot; value=&quot;***********INNNN sequence proxy2***********&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/log&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;send&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;endpoint&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;address uri=&quot;https://localhost:8243/services/SecureService&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt; &amp;nbsp; &amp;lt;enableSec policy=&quot;conf:/security-policy/UT-Policy1&quot;/&amp;gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/address&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/endpoint&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/send&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/inSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;outSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;send/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/outSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;description/&amp;gt;&lt;br /&gt;&amp;lt;/proxy&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Rampart policy&lt;br /&gt;&lt;br /&gt;&amp;lt;wsp:Policy xmlns:wsp=&quot;http://schemas.xmlsoap.org/ws/2004/09/policy&quot; xmlns:wsu=&quot;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd&quot; wsu:Id=&quot;UTOverTransport&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;wsp:ExactlyOne&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;wsp:All&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sp:TransportBinding xmlns:sp=&quot;http://schemas.xmlsoap.org/ws/2005/07/securitypolicy&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;wsp:Policy&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sp:TransportToken&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;wsp:Policy&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sp:HttpsToken RequireClientCertificate=&quot;false&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/wsp:Policy&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sp:TransportToken&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sp:AlgorithmSuite&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;wsp:Policy&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sp:Basic256/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/wsp:Policy&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sp:AlgorithmSuite&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sp:Layout&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;wsp:Policy&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sp:Lax/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/wsp:Policy&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sp:Layout&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sp:IncludeTimestamp/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/wsp:Policy&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sp:TransportBinding&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sp:SignedSupportingTokens xmlns:sp=&quot;http://schemas.xmlsoap.org/ws/2005/07/securitypolicy&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;wsp:Policy&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sp:UsernameToken sp:IncludeToken=&quot;http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/wsp:Policy&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sp:SignedSupportingTokens&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;rampart:RampartConfig xmlns:rampart=&quot;http://ws.apache.org/rampart/policy&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;&amp;nbsp; &amp;lt;rampart:user&amp;gt;dushan&amp;lt;/rampart:user&amp;gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;rampart:timestampPrecisionInMilliseconds&amp;gt;true&amp;lt;/rampart:timestampPrecisionInMilliseconds&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;rampart:timestampTTL&amp;gt;300&amp;lt;/rampart:timestampTTL&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;rampart:timestampMaxSkew&amp;gt;300&amp;lt;/rampart:timestampMaxSkew&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;rampart:timestampStrict&amp;gt;false&amp;lt;/rampart:timestampStrict&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt;&amp;lt;rampart:passwordCallbackClass&amp;gt;org.wso2.samples.pwcb.PWCBHandler&amp;lt;/rampart:passwordCallbackClass&amp;gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;rampart:nonceLifeTime&amp;gt;300&amp;lt;/rampart:nonceLifeTime&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/rampart:RampartConfig&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/wsp:All&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/wsp:ExactlyOne&amp;gt;&lt;br /&gt;&amp;lt;/wsp:Policy&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/629201955037632260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2013/11/invoking-secure-service-ut-enabled-via_21.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/629201955037632260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/629201955037632260'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2013/11/invoking-secure-service-ut-enabled-via_21.html' title='Invoking Secure Service (UT enabled) Via Non Secure Client -Part 2'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-4129944132708318984</id><published>2013-11-21T00:42:00.002-08:00</published><updated>2013-11-21T00:42:53.079-08:00</updated><title type='text'>Invoking Secure Service (UT enabled) Via Non Secure Client -Part 1</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;When client would require to invoke Secure Services via Non secure services, one possible solution is to enable encrypt the basic headers and them to the Authorization header in transport scope then to invoke the given service&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;proxy xmlns=&quot;http://ws.apache.org/ns/synapse&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;NonSecureProxy&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transports=&quot;https,http&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;statistics=&quot;disable&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;trace=&quot;disable&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startOnLoad=&quot;true&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;target&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;inSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;log level=&quot;full&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&quot;INNNNN&quot; value=&quot;***********INNNN sequence proxy2***********&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/log&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;Authorization&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;expression=&quot;fn:concat(&#39;Basic &#39;, base64Encode(&#39;dushan:dushan&#39;))&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scope=&quot;transport&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;send&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;endpoint&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;address uri=&quot;https://localhost:8243/services/SecureService/getQuote&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; format=&quot;pox&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/endpoint&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/send&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/inSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;outSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;send/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/outSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;description/&amp;gt;&lt;br /&gt;&amp;lt;/proxy&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;proxy xmlns=&quot;http://ws.apache.org/ns/synapse&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;SecureService&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transports=&quot;https&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;statistics=&quot;disable&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;trace=&quot;disable&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startOnLoad=&quot;true&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;target&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;inSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;send&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;endpoint&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;address uri=&quot;http://localhost:9000/services/SimpleStockQuoteService&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/endpoint&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/send&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/inSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;outSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;send/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/outSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;enableSec/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;policy key=&quot;conf:/repository/axis2/service-groups/SecureService/services/SecureService/policies/UTOverTransport&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;description/&amp;gt;&lt;br /&gt;&amp;lt;/proxy&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[2013-11-21 14:12:30,620] DEBUG - wire &amp;gt;&amp;gt; &quot;[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,636] DEBUG - wire &amp;lt;&amp;lt; &quot;POST /services/SimpleStockQuoteService/getQuote HTTP/1.1[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,637] DEBUG - wire &amp;lt;&amp;lt; &quot;Authorization: Basic ZHVzaGFuOmR1c2hhbg==[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,637] DEBUG - wire &amp;lt;&amp;lt; &quot;Accept-Encoding: gzip,deflate[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,638] DEBUG - wire &amp;lt;&amp;lt; &quot;Content-Type: application/xml[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,638] DEBUG - wire &amp;lt;&amp;lt; &quot;SOAPAction: urn:getQuote[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,638] DEBUG - wire &amp;lt;&amp;lt; &quot;Transfer-Encoding: chunked[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,638] DEBUG - wire &amp;lt;&amp;lt; &quot;Host: localhost:9000[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,639] DEBUG - wire &amp;lt;&amp;lt; &quot;Connection: Keep-Alive[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,639] DEBUG - wire &amp;lt;&amp;lt; &quot;User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,639] DEBUG - wire &amp;lt;&amp;lt; &quot;[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,639] DEBUG - wire &amp;lt;&amp;lt; &quot;fe[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,639] DEBUG - wire &amp;lt;&amp;lt; &quot;&amp;lt;ser:getQuote xmlns:ser=&quot;http://services.samples&quot;&amp;gt;[\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,639] DEBUG - wire &amp;lt;&amp;lt; &quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!--Optional:--&amp;gt;[\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,639] DEBUG - wire &amp;lt;&amp;lt; &quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;ser:request&amp;gt;[\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,640] DEBUG - wire &amp;lt;&amp;lt; &quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!--Optional:--&amp;gt;[\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,640] DEBUG - wire &amp;lt;&amp;lt; &quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;xsd:symbol xmlns:xsd=&quot;http://services.samples/xsd&quot;&amp;gt;11&amp;lt;/xsd:symbol&amp;gt;[\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,640] DEBUG - wire &amp;lt;&amp;lt; &quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/ser:request&amp;gt;[\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,640] DEBUG - wire &amp;lt;&amp;lt; &quot; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ser:getQuote&amp;gt;[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,640] DEBUG - wire &amp;lt;&amp;lt; &quot;0[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,640] DEBUG - wire &amp;lt;&amp;lt; &quot;[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,644] DEBUG - wire &amp;gt;&amp;gt; &quot;HTTP/1.1 200 OK[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,644] DEBUG - wire &amp;gt;&amp;gt; &quot;Content-Type: application/xml; charset=UTF-8[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,645] DEBUG - wire &amp;gt;&amp;gt; &quot;Date: Thu, 21 Nov 2013 08:42:30 GMT[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,645] DEBUG - wire &amp;gt;&amp;gt; &quot;Transfer-Encoding: chunked[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,645] DEBUG - wire &amp;gt;&amp;gt; &quot;Connection: Keep-Alive[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,645] DEBUG - wire &amp;gt;&amp;gt; &quot;[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,647] DEBUG - wire &amp;gt;&amp;gt; &quot;368[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,647] DEBUG - wire &amp;gt;&amp;gt; &quot;&amp;lt;ns:getQuoteResponse xmlns:ns=&quot;http://services.samples&quot;&amp;gt;&amp;lt;ns:return xmlns:ax21=&quot;http://services.samples/xsd&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:type=&quot;ax21:GetQuoteResponse&quot;&amp;gt;&amp;lt;ax21:change&amp;gt;4.423747490453758&amp;lt;/ax21:change&amp;gt;&amp;lt;ax21:earnings&amp;gt;13.080465575691782&amp;lt;/ax21:earnings&amp;gt;&amp;lt;ax21:high&amp;gt;183.72455511877618&amp;lt;/ax21:high&amp;gt;&amp;lt;ax21:last&amp;gt;177.25933516401494&amp;lt;/ax21:last&amp;gt;&amp;lt;ax21:lastTradeTimestamp&amp;gt;Thu Nov 21 14:12:30 IST 2013&amp;lt;/ax21:lastTradeTimestamp&amp;gt;&amp;lt;ax21:low&amp;gt;-176.6775010130566&amp;lt;/ax21:low&amp;gt;&amp;lt;ax21:marketCap&amp;gt;1797692.482250683&amp;lt;/ax21:marketCap&amp;gt;&amp;lt;ax21:name&amp;gt;11 Company&amp;lt;/ax21:name&amp;gt;&amp;lt;ax21:open&amp;gt;183.25648908841202&amp;lt;/ax21:open&amp;gt;&amp;lt;ax21:peRatio&amp;gt;-17.898897366819455&amp;lt;/ax21:peRatio&amp;gt;&amp;lt;ax21:percentageChange&amp;gt;-2.6156190500725063&amp;lt;/ax21:percentageChange&amp;gt;&amp;lt;ax21:prevClose&amp;gt;-169.12812629695176&amp;lt;/ax21:prevClose&amp;gt;&amp;lt;ax21:symbol&amp;gt;11&amp;lt;/ax21:symbol&amp;gt;&amp;lt;ax21:volume&amp;gt;5447&amp;lt;/ax21:volume&amp;gt;&amp;lt;/ns:return&amp;gt;&amp;lt;/ns:getQuoteResponse&amp;gt;[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,648] DEBUG - wire &amp;gt;&amp;gt; &quot;0[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,648] DEBUG - wire &amp;gt;&amp;gt; &quot;[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,655] DEBUG - wire &amp;lt;&amp;lt; &quot;HTTP/1.1 200 OK[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,655] DEBUG - wire &amp;lt;&amp;lt; &quot;Content-Type: application/xml[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,656] DEBUG - wire &amp;lt;&amp;lt; &quot;Date: Thu, 21 Nov 2013 08:42:30 GMT[\r][\n]&quot;&lt;br /&gt;[2013-11-21 14:12:30,656] DEBUG - wire &amp;lt;&amp;lt; &quot;Server: WSO2-PassThrough-HTTP[\r][\n]&quot;&lt;br /&gt;[2013&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/4129944132708318984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2013/11/invoking-secure-service-ut-enabled-via.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/4129944132708318984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/4129944132708318984'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2013/11/invoking-secure-service-ut-enabled-via.html' title='Invoking Secure Service (UT enabled) Via Non Secure Client -Part 1'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-6783475602061101510</id><published>2013-11-20T04:16:00.002-08:00</published><updated>2013-11-20T05:33:02.908-08:00</updated><title type='text'>Callout Meditor to Invoke REST Services</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Following configuration allows you to invoke RESTful services via CalloutMeditator&lt;br /&gt;&lt;br /&gt;P.N you need to change axis2_client.xml Required to add JSON message formatter in ESB_470_HOME/samples/axis2Client/client_repo/conf/axis2.xml&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;br /&gt;&amp;lt;proxy xmlns=&quot;http://ws.apache.org/ns/synapse&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;CalloutProxy&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transports=&quot;https,http&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;statistics=&quot;disable&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;trace=&quot;disable&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startOnLoad=&quot;true&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;target&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;inSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;enableREST&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;value=&quot;true&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scope=&quot;axis2-client&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type=&quot;BOOLEAN&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;messageType&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;value=&quot;application/json&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scope=&quot;axis2-client&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type=&quot;STRING&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;contentType&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;value=&quot;application/json&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;scope=&quot;axis2-client&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type=&quot;STRING&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;callout serviceURL=&quot;http://localhost:9001/services/SimpleStockQuoteService&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; action=&quot;urn:getQuote&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; initAxis2ClientOptions=&quot;false&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;source xmlns:s12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:s11=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xpath=&quot;s11:Body/child::*[fn:position()=1] | s12:Body/child::*[fn:position()=1]&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;target xmlns:s12=&quot;http://www.w3.org/2003/05/soap-envelope&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:s11=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xpath=&quot;s11:Body/child::*[fn:position()=1] | s12:Body/child::*[fn:position()=1]&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/callout&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;RESPONSE&quot; value=&quot;true&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;header name=&quot;To&quot; action=&quot;remove&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;send/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;drop/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/inSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;description/&amp;gt;&lt;br /&gt;&amp;lt;/proxy&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Wire logs&lt;br /&gt;&lt;br /&gt;log4j.logger.httpclient.wire.header=DEBUG&lt;br /&gt;log4j.logger.httpclient.wire.content=DEBUG&lt;br /&gt;&lt;br /&gt;logs seen in console&lt;br /&gt;&lt;br /&gt;[2013-11-20 17:38:18,840] &amp;nbsp;INFO - CarbonUIServiceComponent Mgt Console URL &amp;nbsp;: https://10.100.1.122:9443/carbon/&lt;br /&gt;[2013-11-20 17:39:39,459] DEBUG - header &amp;gt;&amp;gt; &quot;POST /services/SimpleStockQuoteService HTTP/1.1[\r][\n]&quot;&lt;br /&gt;&lt;b&gt;[2013-11-20 17:39:39,468] DEBUG - header &amp;gt;&amp;gt; &quot;Content-Type: application/json; charset=UTF-8[\r]&lt;/b&gt;[\n]&quot;&lt;br /&gt;[2013-11-20 17:39:39,469] DEBUG - header &amp;gt;&amp;gt; &quot;Accept-Encoding: gzip,deflate[\r][\n]&quot;&lt;br /&gt;[2013-11-20 17:39:39,469] DEBUG - header &amp;gt;&amp;gt; &quot;User-Agent: Axis2[\r][\n]&quot;&lt;br /&gt;[2013-11-20 17:39:39,469] DEBUG - header &amp;gt;&amp;gt; &quot;Host: localhost:9001[\r][\n]&quot;&lt;br /&gt;[2013-11-20 17:39:39,469] DEBUG - header &amp;gt;&amp;gt; &quot;Transfer-Encoding: chunked[\r][\n]&quot;&lt;br /&gt;[2013-11-20 17:39:39,469] DEBUG - header &amp;gt;&amp;gt; &quot;[\r][\n]&quot;&lt;br /&gt;[2013-11-20 17:39:39,480] DEBUG - content &amp;gt;&amp;gt; &quot;27[\r][\n]&quot;&lt;br /&gt;&lt;b&gt;[2013-11-20 17:39:39,480] DEBUG - content &amp;gt;&amp;gt; &quot;{&quot;getQuote&quot;:{&quot;request&quot;:{&quot;symbol&quot;:&quot;?&quot;}}}&quot;&lt;/b&gt;&lt;br /&gt;[2013-11-20 17:39:39,480] DEBUG - content &amp;gt;&amp;gt; &quot;[\r][\n]&quot;&lt;br /&gt;[2013-11-20 17:39:39,480] DEBUG - content &amp;gt;&amp;gt; &quot;0&quot;&lt;br /&gt;[2013-11-20 17:39:39,480] DEBUG - content &amp;gt;&amp;gt; &quot;[\r][\n]&quot;&lt;br /&gt;[2013-11-20 17:39:39,480] DEBUG - content &amp;gt;&amp;gt; &quot;[\r][\n]&quot;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/6783475602061101510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2013/11/callout-meditor-to-invoke-rest-services.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/6783475602061101510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/6783475602061101510'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2013/11/callout-meditor-to-invoke-rest-services.html' title='Callout Meditor to Invoke REST Services'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-4090785994294961727</id><published>2013-09-26T10:38:00.004-07:00</published><updated>2013-10-08T20:36:13.228-07:00</updated><title type='text'>Upcoming ESB features (Call Meditor and Connectors)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;ESB 4.8.0 about to be released soon, in my previous blog I discussed how you can configure, iterate and aggregate ,there have been numerous changers accommodated in 4.8.0 to simplify the configuration, some of the enhancements we have done listed below.&lt;br /&gt;&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Call Mediator (Non Blocking callout mediator) probably but almost retiring CalloutMediator (which is blocking)&lt;/li&gt;&lt;li&gt;Loopback Mediator&lt;/li&gt;&lt;li&gt;Response &amp;nbsp;Mediator &amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; additionally more information to be followed related to the&lt;b&gt; CLOUD CONNECTOR &lt;/b&gt;usecases within next few weeks ......&lt;br /&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;proxy xmlns=&quot;http://ws.apache.org/ns/synapse&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name=&quot;CallIterator&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;transports=&quot;https,http&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;statistics=&quot;disable&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;trace=&quot;disable&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;startOnLoad=&quot;true&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;target&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;inSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;iterate xmlns:m1=&quot;http://services.samples&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:m2=&quot;http://services.samples/xsd&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; id=&quot;callItr&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; expression=&quot;//m1:getQuotes/m1:getQuote&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;target&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;sequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt; &amp;lt;call&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;endpoint&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;address uri=&quot;http://localhost:9001/services/SimpleStockQuoteService&quot;/&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/endpoint&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/call&amp;gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/sequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/target&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/iterate&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;log level=&quot;full&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&quot;MESSAGE&quot; value=&quot;##1&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/log&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&quot;ECNCLOSING_ELEMENT&quot; scope=&quot;default&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;wrapper xmlns=&quot;&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;aggregate id=&quot;callItr&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;completeCondition&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;messageCount min=&quot;-1&quot; max=&quot;-1&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/completeCondition&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;onComplete xmlns:m1=&quot;http://services.samples&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; expression=&quot;//m1:getQuoteResponse&quot;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt; enclosingElementProperty=&quot;ECNCLOSING_ELEMENT&quot;&lt;/b&gt;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;log level=&quot;full&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&quot;MESSAGE&quot; value=&quot;##2&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/log&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/onComplete&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/aggregate&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt;&amp;lt;loopback/&amp;gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/inSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;outSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;&amp;nbsp;&amp;lt;respond/&amp;gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/outSequence&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/target&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;description/&amp;gt;&lt;br /&gt;&amp;lt;/proxy&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;response..&lt;br /&gt;&lt;br /&gt;&amp;lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;soapenv:Body&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt; &amp;lt;wrapper&amp;gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ns:getQuoteResponse xmlns:ns=&quot;http://services.samples&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;ns:return xsi:type=&quot;ax21:GetQuoteResponse&quot; xmlns:ax21=&quot;http://services.samples/xsd&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:change&amp;gt;-2.282072032481502&amp;lt;/ax21:change&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:earnings&amp;gt;-8.184245817709384&amp;lt;/ax21:earnings&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:high&amp;gt;161.1255146837517&amp;lt;/ax21:high&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:last&amp;gt;153.9460060122943&amp;lt;/ax21:last&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:lastTradeTimestamp&amp;gt;Thu Sep 26 23:05:24 IST 2013&amp;lt;/ax21:lastTradeTimestamp&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:low&amp;gt;-153.68705428915268&amp;lt;/ax21:low&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:marketCap&amp;gt;3698159.0880708937&amp;lt;/ax21:marketCap&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:name&amp;gt;DLL Company&amp;lt;/ax21:name&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:open&amp;gt;-151.72501736767938&amp;lt;/ax21:open&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:peRatio&amp;gt;25.8716132214498&amp;lt;/ax21:peRatio&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:percentageChange&amp;gt;1.562593376583845&amp;lt;/ax21:percentageChange&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:prevClose&amp;gt;-146.04388234836802&amp;lt;/ax21:prevClose&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:symbol&amp;gt;DLL&amp;lt;/ax21:symbol&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:volume&amp;gt;16230&amp;lt;/ax21:volume&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/ns:return&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ns:getQuoteResponse&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ns:getQuoteResponse xmlns:ns=&quot;http://services.samples&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;ns:return xsi:type=&quot;ax21:GetQuoteResponse&quot; xmlns:ax21=&quot;http://services.samples/xsd&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:change&amp;gt;-2.50201581759645&amp;lt;/ax21:change&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:earnings&amp;gt;13.910655333381875&amp;lt;/ax21:earnings&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:high&amp;gt;-173.9913159476355&amp;lt;/ax21:high&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:last&amp;gt;178.2282964042608&amp;lt;/ax21:last&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:lastTradeTimestamp&amp;gt;Thu Sep 26 23:05:24 IST 2013&amp;lt;/ax21:lastTradeTimestamp&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:low&amp;gt;184.07373157820325&amp;lt;/ax21:low&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:marketCap&amp;gt;-8690349.18328286&amp;lt;/ax21:marketCap&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:name&amp;gt;SAMSUG Company&amp;lt;/ax21:name&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:open&amp;gt;187.00563796447824&amp;lt;/ax21:open&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:peRatio&amp;gt;24.27282100627226&amp;lt;/ax21:peRatio&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:percentageChange&amp;gt;1.5129014962405416&amp;lt;/ax21:percentageChange&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:prevClose&amp;gt;-165.37863329594103&amp;lt;/ax21:prevClose&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:symbol&amp;gt;SAMSUG&amp;lt;/ax21:symbol&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:volume&amp;gt;17238&amp;lt;/ax21:volume&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/ns:return&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ns:getQuoteResponse&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ns:getQuoteResponse xmlns:ns=&quot;http://services.samples&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;ns:return xsi:type=&quot;ax21:GetQuoteResponse&quot; xmlns:ax21=&quot;http://services.samples/xsd&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:change&amp;gt;3.776274828469344&amp;lt;/ax21:change&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:earnings&amp;gt;12.080383538265115&amp;lt;/ax21:earnings&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:high&amp;gt;-169.48473541292884&amp;lt;/ax21:high&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:last&amp;gt;173.1940035266614&amp;lt;/ax21:last&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:lastTradeTimestamp&amp;gt;Thu Sep 26 23:05:24 IST 2013&amp;lt;/ax21:lastTradeTimestamp&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:low&amp;gt;179.34173748130962&amp;lt;/ax21:low&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:marketCap&amp;gt;3.542581699105626E7&amp;lt;/ax21:marketCap&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:name&amp;gt;IBM Company&amp;lt;/ax21:name&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:open&amp;gt;-170.07540506338606&amp;lt;/ax21:open&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:peRatio&amp;gt;-19.16117019602173&amp;lt;/ax21:peRatio&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:percentageChange&amp;gt;2.001801348105515&amp;lt;/ax21:percentageChange&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:prevClose&amp;gt;188.64383481623557&amp;lt;/ax21:prevClose&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:symbol&amp;gt;IBM&amp;lt;/ax21:symbol&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;ax21:volume&amp;gt;8286&amp;lt;/ax21:volume&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/ns:return&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/ns:getQuoteResponse&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt; &amp;lt;/wrapper&amp;gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;lt;/soapenv:Body&amp;gt;&lt;br /&gt;&amp;lt;/soapenv:Envelope&amp;gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/4090785994294961727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2013/09/upcoming-esb-features-iterate-and.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/4090785994294961727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/4090785994294961727'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2013/09/upcoming-esb-features-iterate-and.html' title='Upcoming ESB features (Call Meditor and Connectors)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-3935108680226663822</id><published>2013-07-03T19:44:00.001-07:00</published><updated>2013-07-03T19:45:24.717-07:00</updated><title type='text'>The WSO2 Enterprise Service Bus (ESB) 4.7.0 Released!</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;WSO2 ESB team is pleased to announce the release of version 4.7.0 of the Open Source Enterprise Service Bus (ESB).&lt;br /&gt;WSO2 ESB is a fast, lightweight and user friendly open source Enterprise Service Bus (ESB) distributed under the&amp;nbsp;&lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0.html&quot;&gt;Apache Software License v2.0&lt;/a&gt;. WSO2 ESB allows system administrators and developers to easily configure message routing, intermediation, transformation, logging, task scheduling, fail over routing and load balancing. It also supports transport switching, eventing, rule based mediation and priority based mediation for advanced integration requirements. The ESB runtime is designed to be completely asynchronous, non-blocking and streaming based on the&amp;nbsp;&lt;a href=&quot;http://synapse.apache.org/&quot;&gt;Apache Synapse&lt;/a&gt;&amp;nbsp;mediation engine.&lt;br /&gt;WSO2 ESB 4.7.0 is developed on top of the revolutionary&amp;nbsp;&lt;a href=&quot;http://wso2.org/projects/carbon&quot;&gt;WSO2 Carbon platform&lt;/a&gt;&amp;nbsp;(Middleware a&#39; la carte), an OSGi based framework that provides seamless modularity to your SOA via componentization. This release also contains many new features and a range of optional components (add-ons) that can be installed to customize the behavior of the ESB. Further, any existing features of the ESB which are not required to your environment can be easily removed using the underlying provisioning framework of Carbon. In brief, WSO2 ESB can be fully customized and tailored to meet your exact SOA needs.&lt;br /&gt;You can download this distribution from&amp;nbsp;&lt;a href=&quot;http://wso2.com/products/enterprise-service-bus/&quot;&gt;http://wso2.com/products/enterprise-service-bus/&lt;/a&gt;&amp;nbsp;and give it a try.&lt;br /&gt;&lt;h2&gt;How to Run&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Extract the downloaded zip&lt;/li&gt;&lt;li&gt;Go to the bin directory in the extracted folder&lt;/li&gt;&lt;li&gt;Run the wso2server.sh or wso2server.bat as appropriate&lt;/li&gt;&lt;li&gt;Point your browser to the URL https://localhost:9443/carbon&lt;/li&gt;&lt;li&gt;Use &quot;admin&quot;, &quot;admin&quot; as the username and password to login as an admin&lt;/li&gt;&lt;li&gt;If you need to start the OSGi console with the server use the property -DosgiConsole when starting the server. The INSTALL.txt file found on the installation directory will give you a comprehensive set of options and properties that can be passed into the startup script&lt;/li&gt;&lt;li&gt;Sample configurations can be started by the wso2esb-samples script passing the sample number with the -sn option (Please have a look at the samples guide for more information, on running samples)&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;Brand New in This Release&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Comprehensive REST integration support with HTTP Endpoints&lt;/li&gt;&lt;li&gt;JSON support for Payload Factory Mediator&lt;/li&gt;&lt;li&gt;SSL Tunneling Support&lt;/li&gt;&lt;li&gt;SSL Profiles for inbound and outbound scenarios&lt;/li&gt;&lt;li&gt;Inbound Connection Throttling support for Pass-Thru and NHTTP transports&lt;/li&gt;&lt;li&gt;CRL/OCSP Certificate Revocation Verification&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Enhancements in WSO2 ESB 4.7.0&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Enhanced Message Stores and Processors for Guaranteed Delivery and Rate Matching Scenarios&lt;/li&gt;&lt;li&gt;High Performance Multitenant REST APIs support with Pass-Thru Transport&lt;/li&gt;&lt;li&gt;Stabilizing Registry Based Deployment Synchronizer&lt;/li&gt;&lt;li&gt;Invoking Sequences and Proxy Service from Scheduled Tasks&lt;/li&gt;&lt;li&gt;HL7 Enhancements to support Application-Acknowledgement and Auto-Acknowledgement scenarios&lt;/li&gt;&lt;li&gt;Transport Header manipulation in Header Mediator&lt;/li&gt;&lt;li&gt;Enhancement on Content Negotiation in RESTful integration(ie: POX with text/xml)&lt;/li&gt;&lt;li&gt;JMS MapMessage compatibility for JMS Transport&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Key Features of WSO2 ESB&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Proxy services - facilitating synchronous/asynchronous transport, interface (WSDL/Schema/Policy), message format (SOAP 1.1/1.2, POX/REST, Text, Binary), QoS (WS-Addressing/WS-Security/WS-RM) and optimization switching (MTOM/SwA).&lt;/li&gt;&lt;li&gt;API facilitating building REST services&lt;/li&gt;&lt;li&gt;Non-blocking HTTP/S transports based on Apache HttpCore-NIO for ultra-fast execution and support for thousands of connections at high concurrency with constant memory usage.&lt;/li&gt;&lt;li&gt;Built in Registry/Repository, facilitating dynamic updating and reloading of the configuration and associated resources (e.g. XSLTs, XSD, WSDL, Policies, JS configurations ..)&lt;/li&gt;&lt;li&gt;Easily extendable via custom Java classes (mediator and command)/Spring configurations, or BSF Scripting languages (Javascript, Ruby, Groovy, etc.)&lt;/li&gt;&lt;li&gt;Built in support for scheduling tasks using the Quartz scheduler.&lt;/li&gt;&lt;li&gt;Load-balancing (with or without sticky sessions)/Fail-over, and clustered Throttling and Caching support&lt;/li&gt;&lt;li&gt;WS-Security, WS-Reliable Messaging, Caching &amp;amp; Throttling configurable via (message/operation/service level) WS-Policies&lt;/li&gt;&lt;li&gt;Lightweight, XML and Web services centric messaging model&lt;/li&gt;&lt;li&gt;Support for industrial standards (Hessian binary web service protocol/ Financial Information eXchange protocol and optional Health Level-7 protocol)&lt;/li&gt;&lt;li&gt;Enhanced support for the VFS (File/FTP/SFTP), JMS, Mail transports with optional TCP/UDP transports and transport switching among any of the above transports&lt;/li&gt;&lt;li&gt;Support for message splitting &amp;amp; aggregation using the EIP and service callouts&lt;/li&gt;&lt;li&gt;Database lookup &amp;amp; store support with DBMediators with reusable database connection pools&lt;/li&gt;&lt;li&gt;WS-Eventing support&lt;/li&gt;&lt;li&gt;Rule based mediation of the messages using the Drools rule engine&lt;/li&gt;&lt;li&gt;Transactions support via the JMS transport and Transaction mediator for database mediators&lt;/li&gt;&lt;li&gt;Internationalized GUI management console with user management for configuration development&lt;/li&gt;&lt;li&gt;Integrated monitoring support with statistics, configurable logging and tracing&lt;/li&gt;&lt;li&gt;JMX monitoring support and JMX management capabilities like, Graceful/Forceful shutdown/restart&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Bugs Fixed in This Release&lt;/h2&gt;This release of WSO2 ESB comes with a number of bug fixes, both in the base framework and the ESB specific components. All the issues which have been fixed in ESB 4.7.0 are recorded at following locations:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://wso2.org/jira/issues/?filter=11177&quot;&gt;Fixed ESB specific issues&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Known Issues&lt;/h2&gt;All the open issues pertaining to WSO2 ESB 4.7.0 are reported at following locations:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://wso2.org/jira/issues/?filter=11178&quot;&gt;WSO2 ESB 4.7.0 component issues&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;How You Can Contribute&lt;/h2&gt;&lt;h3&gt;Mailing Lists&lt;/h3&gt;Join our mailing list and correspond with the developers directly.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Developer List :&amp;nbsp;&lt;a href=&quot;mailto:dev@wso2.org&quot;&gt;dev@wso2.org&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href=&quot;mailto:dev-request@wso2.org?subject=subscribe&quot;&gt;Subscribe&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href=&quot;http://mail.wso2.org/mailarchive/dev/&quot;&gt;Mail Archive&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Reporting Issues&lt;/h3&gt;We encourage you to report issues, documentation faults and feature requests regarding WSO2 ESB through the public&amp;nbsp;&lt;a href=&quot;http://www.wso2.org/jira/browse/ESBJAVA&quot;&gt;ESB JIRA&lt;/a&gt;. You can use the&amp;nbsp;&lt;a href=&quot;http://www.wso2.org/jira/browse/CARBON&quot;&gt;Carbon JIRA&lt;/a&gt;&amp;nbsp;to report any issues related to the Carbon base framework or associated Carbon components.&lt;br /&gt;&lt;h3&gt;Discussion Forums&lt;/h3&gt;Alternatively, questions could be raised on&amp;nbsp;&lt;a href=&quot;http://stackoverflow.com/questions/tagged/wso2&quot;&gt;http://stackoverflow.com&lt;/a&gt;.&lt;br /&gt;&lt;h2&gt;Support&lt;/h2&gt;We are committed to ensuring that your enterprise middleware deployment is completely supported from evaluation to production. Our unique approach ensures that all support leverages our open development methodology and is provided by the very same engineers who build the technology.&lt;br /&gt;For more details and to take advantage of this unique opportunity please visit&amp;nbsp;&lt;a href=&quot;http://wso2.com/support&quot;&gt;http://wso2.com/support&lt;/a&gt;.&lt;br /&gt;For more information about WSO2 ESB please see&amp;nbsp;&lt;a href=&quot;http://wso2.com/products/enterprise-service-bus/&quot;&gt;http://wso2.com/products/enterprise-service-bus&lt;/a&gt;.&lt;br /&gt;&lt;i&gt;-- The WSO2 ESB Team --&lt;/i&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/3935108680226663822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2013/07/the-wso2-enterprise-service-bus-esb-470.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/3935108680226663822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/3935108680226663822'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2013/07/the-wso2-enterprise-service-bus-esb-470.html' title='The WSO2 Enterprise Service Bus (ESB) 4.7.0 Released!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9104813501868351989.post-6490956389678902196</id><published>2013-06-29T09:09:00.002-07:00</published><updated>2013-06-29T09:11:40.505-07:00</updated><title type='text'>ESB 4.7.0 about to be released !</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dushansview.blogspot.com/feeds/6490956389678902196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://dushansview.blogspot.com/2013/06/esb-470-about-to-be-released-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/6490956389678902196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9104813501868351989/posts/default/6490956389678902196'/><link rel='alternate' type='text/html' href='http://dushansview.blogspot.com/2013/06/esb-470-about-to-be-released-with.html' title='ESB 4.7.0 about to be released !'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>