<?xml version="1.0" encoding="UTF-8"?>
<cheatsheet title="Create an Apache Tomcat server">
   <intro
         href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
      <description>
            This cheat sheet will demonstrate how to install and create an instance of the Apache Tomcat server in order to deploy and test your JAX-WS Web service.
            <br/>
            <br/>
If you need help at any step, click the help button in the top right corner (?).
      </description>
   </intro>
   <item
         href="/org.eclipse.jst.server.ui.doc.user/topics/tomcat.html"
         skip="true"
         title="Download and install Apache Tomcat">
      <description>
         Download and install Apache Tomcat version 5.5.x or 6.0.x from the following site: http://tomcat.apache.org/. Selecting  the &quot;Click to perform&quot; button below will open a web browser at that location.
      </description>
      <command
            required="false"
            serialization="org.eclipse.ui.browser.openBrowser(url=http://tomcat.apache.org/)"/>
   </item>
   <item
         dialog="true"
         href="/org.eclipse.jst.server.ui.doc.user/topics/tomcat.html"
         skip="false"
         title="Create an Apache Tomcat server">
      <description>
         Perform the following the steps to create a Tomcat server in the workbench.
      </description>
      <subitem
            label="Select &quot;File -&gt; New -&gt; Other...&quot; from the main menu, expand the &quot;Server&quot; category within the resulting &quot;New Wizard&quot; dialog box and choose &quot;Server&quot;. Click &quot;Next &gt;&quot;."
            skip="true">
         <command
               required="false"
               serialization="org.eclipse.ui.newWizard(newWizardId=org.eclipse.wst.server.ui.new.server)"/>
      </subitem>
      <subitem
            label="Select the version of Tomcat that you have installed on the first page. Click &quot;Next &gt;&quot;."
            skip="true">
      </subitem>
      <subitem
            label="Specify the Tomcat Installation directory and click &quot;Finish&quot;."
            skip="true">
      </subitem>
      <subitem
            label="Open the Servers view by selecting &quot;Window -&gt; Show View -&gt; Other..&quot; from the main menu, expand the &quot;Server&quot; category within the resulting &quot;Show View&quot; dialog box and choose &quot;Servers&quot;. Click &quot;OK&quot;."
            skip="true">
         <command
               required="false"
               serialization="org.eclipse.ui.views.showView(org.eclipse.ui.views.showView.viewId=org.eclipse.wst.server.ui.ServersView)"/>
      </subitem>
      <subitem
            label="Start the Tomcat server by selecting the server in the Servers view and clicking the &quot;Start the server&quot; button in the Servers view toolbar.">
      </subitem>
   </item>
</cheatsheet>
