###############################################################################
# Copyright (c) 2000, 2010 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
# yyyymmdd bug      Email and other contact information
# -------- -------- -----------------------------------------------------------
# 20090302   242635 mahutch@ca.ibm.com - Mark Hutchinson, Remove unnecessary UI dependencies from org.eclipse.jst.ws.consumption
###############################################################################

#
# Messages in plugin.xml.
#
PLUGIN_NAME=Web Services Consumption
PLUGIN_PROVIDER=Eclipse Web Tools Platform
XP_WSFINDER=org.eclipse.jst.ws.internal.consumption.wsfinder
XP_WEB_SERVICE_START_SERVER_TYPE=WebServiceStartServerType
XP_SERVER_DEFAULTER=Server Defaulter
XP_FACET_OP_DELEGATE=Facet Operation Delegate
