Sunday, February 22, 2015

SOA ESB best practices



There are so many things to consider when dealing with web services.

*.            Strictly must use correct namespace. Please refer WSDL file for correct namespaces.

*.            When testing, better use SoapUI tool. Some other tools will may invoke service correctly. But their request and response may not complete.

*.            If the service is RPC type service, may use soap11 tab in the endpoint declaration.

*.            If service has more than one method, and you are going to access it via oracle database, you should add property call <parameter name="disableOperationValidation">true</parameter>

*.            Before creating a proxy service or any service, you need to have clear correct endpoint url, best way to get the correct url is check in the bottom of WSDL file. Always ask for the correct wsdl url.

*.            Don’t use similar names for two services. Better use different names. (Ex: service1 , secondService)

*.            Before giving to development, you must test the created service using soapUI tool. Because there are some compatibility issues with some services created using different platforms.

*.            If a service is working fine but cannot access, first look in log file. There will be all errors regarding the service invoke. Then you can finalize the error and solve that error. But if you cannot see any error or any log regarding the service invoke in log file, may be ports closed due to policy expiration or something. So must have to telnet to the service hosted port from appropriate server.

*.            Don’t be hurry or get panic. If something wrong in any service. Calmly check all configurations in the service.

Setting up Mariadb with wso2 ESB in RHEL 6




First of all you need to download wso2 Enterprise service bus from www.wso2.com site.

Then you have to setup your java environment. 
After that check whether correctly set JAVA_HOME and also in PATH.

Now you are ready to start wso2 ESB with inbuilt settings.

Go to <ESB home>/bin

Then run,

> bash ./wso2server.sh

Now you can log in to the started ESB server. But in here there is inbuilt h2 database connected for data savings.
Now lets setup mariadb to wso2 ESB.
First go the mariadb.org site.

Then download mariadb 5.5 stable version rpm files from the site and follow below link,


after running installation start mysql using

service mysql start

after starting the server, you can run below command to create security constraints in the server,

/usr/bin/mysql_secure_installation

After create root user credentials, you can log in the mariadb using,

Mysql –u root –p

>give your password

Now you can create user for esb,

Create user ‘username’@’localhost’ identified by ‘password’;

Then follow same below url and please consider mysql as mariadb,


After all these settings, you are completely set mariadb with wso2ESB.

Now you can restart your server and keep work.

******** Please remember that if you are going to upgrade from previous mysql installation. You better remove mysql file in /var/libs/mysql by using ,

>rm –r –f /var/libs/mysql

**onlyn if mysql not working after changing to the mariadb.**********

*****next thing is check in /usr/local/mysql folder. If it is existing in before install new version, remember to delete is like previous one. ********

After configuring encryption things in WSO2 ESB



You must create a file named, password-tmp and inside the file add your encryption password that you got from creating .jks file, put it in <ESB home> folder


For more info, read this,