/**
   * Loads a web service from a web service wrapper
   *
   * @param wrapper Web service wrapper
   * @throws Exception
   */
  protected void loadService(IServiceConfig wsDef) throws Exception {

    // first create the service
    String serviceId = wsDef.getId();
    AxisService axisService = AxisUtil.createService(wsDef, getAxisConfiguration());

    // add any additional transports
    addTransports(axisService);

    // add any end points
    addServiceEndPoints(axisService);

    // create the WSDL for the service
    AxisUtil.createServiceWsdl(axisService, wsDef, getAxisConfiguration());

    // add the wrapper to the service list
    services.put(serviceId, wsDef);

    // start the service
    axisConfig.addService(axisService);
    axisConfig.startService(axisService.getName());

    // enable or disable the service as the wrapper dictates
    axisService.setActive(wsDef.isEnabled());
  }