Connecting to a database with a webService (cxf) deployed (jbi) in Servicemix



Apache ServiceMix at the moment doesn’t have a JBI component for connecting to a database (servicemiix-jdbc is in the roadmap): in the meanwhile you have to use servicemix-cxf or servicemix-bean. This example (, cxf-wsdl-first.pdf)  is built on top of the example cxf-wsdl-first and can be deployed in apache servicemix 4.0 as JBI sa package.

Installing smx4

Download from “

Unzip it

cd /usr/local

tar xvfz apache-servicemix.tar.gz

Starting smx4

cd /usr/local/apache-servicemix-4.0.0/


Creating WS

cd /usr/local/apache-servicemix-4.0.0/examples

cp -a cxf-wsdl-first cxf-wsdl-first-jdbc

Edit file “wsdl-first-cxfse-su/pom.xml”






Edit file “wsdl-first-cxfse-su/src/main/resources/xbean.xml”

<bean id="moodleDB"


<property name="driverClassName" value="com.mysql.jdbc.Driver" />

<property name=“url”

value="jdbc:mysql://localhost:3306/moodle" />

Edit file “wsdl-first-cxfse-su/src/main/java/org/apache/servicemix/samples/wsdl_first/”

import java.util.\*;
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;


private DataSource dataSource;

private JdbcTemplate jdbcTemplate;

public void setDataSource(DataSource dataSource) {

this.dataSource = dataSource;  this.jdbcTemplate = new JdbcTemplate(dataSource); }

public void getPerson(Holder<String> personId, Holder<String> ssn, Holder<String> name)

throws UnknownPersonFault


org.apache.servicemix.samples.wsdl_first.types.UnknownPersonFault fault = new org.apache.servicemix.samples.wsdl_first.types.UnknownPersonFault();


if (personId.value == null || personId.value.length() == 0) {

   throw new UnknownPersonFault(null, fault);


List result = this.jdbcTemplate.queryForList("select description, lastname from mdl\_user where username = ?",
   new Object\[\]{personId.value});

if(result.size() != 1)  throw new UnknownPersonFault(null, fault);

 Map record=(Map)result.get(0);
 name.value = record.get("lastname").toString();
 ssn.value = record.get("description").toString();

Deplying the WS

mvn clean instal cp wsdl-first-cxf-sa/target/ /usr/local/apache-servicemix-4.0.0/deploy/

Testing WS

Open with your browser the file “file:///usr/local/apache-servicemix-4.0.0/examples/cxf-wsdl-first-jdbc/client.html”

Enter your instance's address

More posts like this

My Networking Survival Kit

2020-03-15 | #Me

In this small tutorial I’ll speak about tunneling, ssh port forwarding, socks, pac files, Sshuttle I’ve been using Linux since 1995 but I have never been interested a lot in networking.

Continue reading 