@Override
 protected void stopEndpoint(E endpoint) {
   try {
     dispatcher.removeEndpoint(endpoint);
   } catch (IOException ex) {
     log.error(
         "I/O exception while stopping listener for service " + endpoint.getServiceName(), ex);
   }
 }
 @Override
 protected void startEndpoint(E endpoint) throws AxisFault {
   try {
     dispatcher.addEndpoint(endpoint);
   } catch (IOException ex) {
     // TODO: passing endpoint.getService() is not correct because it may be null
     throw new AxisFault("Unable to listen on endpoint " + endpoint.getDescription(), ex);
   }
   if (log.isDebugEnabled()) {
     log.debug(
         "Started listening on endpoint "
             + endpoint.getDescription()
             + " [contentType="
             + endpoint.getContentType()
             + "; service="
             + endpoint.getServiceName()
             + "]");
   }
 }