<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>

<plugin>
   
   <!-- Server Defaulters -->
   
   <extension point="org.eclipse.jst.ws.consumption.serverDefaulter">
      <serverDefaulter
         class="org.eclipse.jst.ws.internal.axis.creation.ui.command.AxisServerDefaulter">
      </serverDefaulter>
   </extension>
   
   <extension point="org.eclipse.jst.ws.consumption.ui.webServiceRuntime">
  	<webServiceRuntime
    id="org.eclipse.jst.ws.axis.creation.axisWebServiceRT"
    label="%LABEL_RUNTIME_AXIS_11"
    serviceTypes="org.eclipse.jst.ws.serviceType.java"
    clientTypes="org.eclipse.jst.ws.clientType.java.webOnly"
    servletLevels="23 24"
    j2eeLevels="13 14"
    servers="org.eclipse.jst.server.tomcat.40 org.eclipse.jst.server.tomcat.41 org.eclipse.jst.server.tomcat.50 org.eclipse.jst.server.tomcat.55 org.eclipse.jst.server.geronimo.10"
    class="org.eclipse.jst.ws.internal.axis.creation.ui.wsrt.AxisWebServiceRuntime">
  	</webServiceRuntime>
	</extension> 

	<extension point="org.eclipse.wst.command.env.ui.widgetRegistry">
       <widgetFactory   
             id="AxisBeanConfig"
             insertBeforeCommandId="org.eclipse.jst.ws.internal.axis.creation.ui.task.BUCheckAxisDeploymentDescriptors"
             class="org.eclipse.jst.ws.internal.axis.creation.ui.wsrt.AxisBeanConfigWidgetFactory"/>
    </extension> 
    
	<extension point="org.eclipse.wst.command.env.ui.widgetRegistry">
       <widgetFactory   
             id="AxisSkeletonConfig"
             insertBeforeCommandId="org.eclipse.jst.ws.internal.axis.creation.ui.task.TDCheckAxisDeploymentDescriptors"
             class="org.eclipse.jst.ws.internal.axis.creation.ui.wsrt.AxisSkeletonConfigWidgetFactory"/>
    </extension> 

</plugin>