log.error("when stating the server",e);
    public synchronized void sfStart() throws SmartFrogException,            RemoteException {        super.sfStart();        assert log != null;        assert axis == null;        //get stuff from the configuration        port = sfResolve(Axis.PORT, 8080, false);        threads = sfResolve(Axis.THREADS, threads, false);        sessions = sfResolve(Axis.SESSIONS, sessions, false);        log.info("Running Axis on port " + port);        log.info(" max threads=" + threads + " sessions=" + sessions);        axis = new SimpleAxisServer(threads, sessions);        String servicePath = DEFAULT_AXIS_SERVICE_PATH;        sfReplaceAttribute(Axis.SERVICE_PATH, servicePath);        try {            //register the resouce            wsddResource = sfResolve(Axis.WSDD_RESOURCE, (String) null, false);            if (wsddResource != null) {                log.info("registering WSDD " + wsddResource);                registerResource(wsddResource);            }            //run the service            ServerSocket ss = null;            ss = new ServerSocket(port);            axis.setServerSocket(ss);            axis.start();        } catch (Exception e) {            stopAxis();            //io trouble binding, axis itself being trouble            throw SmartFrogLifecycleException.forward(e);        }    }