/**
   * 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());
  }
  public CategoryAxisAdapter(
      String label,
      boolean visible,
      ChartCategoryAxis chartCategoryAxis,
      ChartAxis chartBaseAxis,
      GridChartView view) {
    if (!visible) {
      setVisible(false);
      return;
    }
    if (chartCategoryAxis == null) {
      setCategoryLabelPositions(CategoryLabelPositions.STANDARD);
    } else {
      setCategoryLabelPositions(
          PropertiesConverter.toCategroryLabelPosition(chartCategoryAxis.getPosition()));
      Double categoryMargin = chartCategoryAxis.getCategoryMargin();
      if (categoryMargin != null) setCategoryMargin(categoryMargin);
      Double upperMargin = chartCategoryAxis.getUpperMargin();
      if (upperMargin != null) setUpperMargin(upperMargin);
      Double lowerMargin = chartCategoryAxis.getLowerMargin();
      if (lowerMargin != null) setLowerMargin(lowerMargin);
    }

    FakeAxisStyle fakeStyle = new FakeAxisStyle(chartCategoryAxis, chartBaseAxis, view);
    AxisUtil.setupAxisPresentation(label, this, fakeStyle);
  }