gSoap WITH_NOIO

I’m using an Axis2 Java client to communicate with a gSoap web service. Axis2 rejects the gSoap response so I used wireshark to see what’s gSoap sending back. Now it’s clear what is the problem, gSoap is not sending the “HTTP/1.1 200 OK” as the first line. That’s because I’m using WITH_NOIO, so if your are having the same problem either write yourself the “HTTP/1.1 200 OK” line into the response or change the stdsoap2.c file to send the line anyway. just look for the line ...

December 13, 2007

Passing configuration parameter to Axis2 services

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"); ....

October 16, 2007