<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.contexts"?>
<!-- /*******************************************************************************
 * Copyright (c) 2000, 2007 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/ -->
<contexts>

<context id="PSTP0001">
<!--  Test Type Combo box of the Service Test Page-->
<description>Select the test facility in which you would like to test the Web service being created.</description>
</context>

<context id="PSTP0002">
<!--  Launch button of the Service Test Page-->
<description>Click this to launch the Web service in a browser window to test it.</description>
</context>

<!--WebServiceWizNewFirstPage-->

<context id="WSWSCEN0001">
<!-- First Page-->
<description>On this page select the artifact from which your Web service or client will be created, and the stages of Web services development that you want to complete:
- Develop: this will create the service code
- Assemble: this ensures that the project that will host the Web service or client gets associated to an EAR when required by the target application server
- Deploy: this will create the deployment code for the service
- Install: this will install the service on the chosen server
- Start: this will start the server once the service has been installed on it
- Test: this will provide various options for testing the service
Select the server and runtime for your Web service or client, and whether or not you want to publish or monitor the service.
</description>
</context>

<context id="WSWSCEN0010">
<!--Web service type combo box of the First Page-->
<description>Select the type of Web service you want to create. A bottom-up service creates a service from a Java bean or EJB, while a top-down service will create a service from a WSDL file and then create a skeleton Java bean or EJB for you to implement later.</description>
</context>

<context id="WSWSCEN0014">
<!--Monitor checkbox of the First Page-->
<description>Monitor the Web service: this will send the Web service traffic through the TCP/IP Monitor, which allows you to watch the SOAP traffic generated by the Web service and to test this traffic for WS-I compliance.</description>
</context>

<context id="WSWSCEN0012">
<!--Launch UDDI check box of the First Page-->
<description>Publish the Web service: this will launch the Web Services Explorer to publish your Web service to a UDDI registry.</description>
</context>

<context id="WSWSCEN0020">
<!--Service implementation field of the First Page-->
<description>Enter the URI to the WSDL, WSIL, or HTML file that will be used to generate the service</description>
</context>

<context id="WSWSCEN0021">
<!--Service slider of the First Page-->
<description>Select the stages of Web services development that you want to complete using the slider:
- Develop: this will create the service code
- Assemble: this ensures that the project that will host the Web service or client gets associated to an EAR when required by the target application server
- Deploy: this will create the deployment code for the service
- Install: this will install the service on the chosen server
- Start: this will start the server once the service has been installed on it
- Test: this will provide various options for testing the service
</description>
</context>

<context id="WSWSCEN0022">
<!--Server link of the First Page-->
<description>Select your server: the default server is displayed. If you want to deploy your service to a different server click the link to specify a different server.</description>
</context>

<context id="WSWSCEN0023">
<!--runtime link of the First Page-->
<description>Select your runtime: the default runtime is displayed. If you want to deploy your service to a different runtime click the link to specify a different runtime.</description>
</context>

<context id="WSWSCEN0024">
<!--projects link of the First Page-->
<description>Select the service project: the project containing the project selected in your workspace is displayed. To select a different project and EAR click on the project link. Ensure that the project selected as the Client Web Project is different from the Service Web Project, or the service will be overwritten by the client's generated artifacts.</description>
</context>

<context id="WSWSCEN0030">
<!--file overwrite checkbox of the First Page-->
<description>This allows you to overwrite files without receiving a warning message asking for confirmation when overwriting files.</description>
</context>

</contexts>
