One way to pass parameters to you Axis2 service:
write a tag inside your services.xml <?xml version="1.0" encoding="UTF-8"?> <!-- This file was auto-generated from WSDL --> <!-- by the Apache Axis2 version: 1.3 Built on : Aug 10, 2007 (04:45:47 LKT) --> <serviceGroup> <service name="xxxxxxx" class="MyServiceLifeCycleImpl"> .... <parameter name="jdbcConnectionString">jdbc:derby:c:/demoderby2b;create=true;user=a;password=b;</parameter> <parameter name="jdbcDriver">org.apache.derby.jdbc.EmbeddedDriver</parameter> ... </service> </serviceGroup> Write a ServiceLifeCycle class public class MyServiceLifeCycleImpl implements ServiceLifeCycle { private Log log = LogFactory.getLog(MyServiceLifeCycleImpl.class); public void startUp(ConfigurationContext confCtx, AxisService axisService) { try { String jdbcConnectionString = (String) axisService.getParameterValue("jdbcConnectionString"); String jdbcDriver = (String) axisService.getParameterValue("jdbcDriver"); Class.forName(jdbcDriver).newInstance(); Connection connection = DriverManager .getConnection(jdbcConnectionString); axisService.addParameter("jdbcConnection", connection); } catch (Exception e) { throw new RuntimeException(e); } } .... Add init method to your service .... private ServiceContext serviceContext; public void init(ServiceContext serviceContext) { this.serviceContext = serviceContext; } .... Access the parameter jdbcConnection from your service through serviceContext .... Connection conn = (Connection) serviceContext.getAxisService() .getParameterValue("jdbcConnection"); ....