Monday, September 21, 2015

[WSO2 ESB] How to read a value from xml file stored in a registry

You can do like this. Here we have below test.xml file stored in gov:/test.xml

<root>
<book>A Song of Ice and Fire</book>
<author>George R. R. Martin</author>
</root>
view raw books.xml hosted with ❤ by GitHub
Your synapse configuration should be like this. Here we use xapth to read the XML.

<property name="xmlFile" expression="get-property('registry','gov:/test.xml')" scope="default" type="OM"></property>
<log level="custom">
<property name="Book_Name" expression="$ctx:xmlFile//book"></property>
</log>
view raw reg_xpath.xml hosted with ❤ by GitHub
Your output log will look like this.

[2015-09-21 16:01:28,750]  INFO - LogMediator Book_Name = A Song of Ice and Fire 

Please comment below if you have any questions.

Related:
How to read a file from registry
How to read a registry property

Tuesday, September 8, 2015

[WSO2 ESB] How to URL Encode in WSO2 ESB

You can do this using either Script mediator or Class mediator. Here I'm discussing about how to use Script mediator.

In javascript, there are 2 ways to do URL encoding.

1) encodeURIComponent() - This should be used only to encode query parameters.

eg. name=John Conner

<script language="js" description="Query Parameter Encoding Script">
mc.setProperty("ENCODED_PARAMS", encodeURIComponent(mc.getProperty('QUERY_PARAMS')));
</scrpt>
2) encodeURI() - This is used to encode an entire URL.

eg. www.transformers.com/charactors?name=John Conner

<script language="js" description="URL Encoding Script">
mc.setProperty("ENCODED_URL", encodeURI(mc.getProperty('URL_TO_BE_ENCODED')));
</scrpt>
If you have any questions, please comment below.

Tuesday, September 1, 2015

[WSO2 ESB] How to read a registry property

Here is how to do it. This will load 'abc' property of collection "gov:/data/xml/collectionx", and store in 'regProperty' property.

<property name="regProperty" expression="get-property('registry', 'gov:/data/xml/collectionx@abc')"/>
Related:
How to read a file from registry
How to read a value from xml file stored in a registry