###############################################################################
# Copyright (c) 2001, 2004 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
###############################################################################

#
# Messages in plugin.xml.
#
PLUGIN_NAME=Webservice Axis Creation UI
PLUGIN_PROVIDER=Eclipse.org

LABEL_RUNTIME_AXIS_11=Apache Axis
DESC_RUNTIME_AXIS_11=Apache Axis

#
#WSWSDLAxisType
#
WS_NAME_WSDLAXIS=Skeleton Java bean Axis Web service

#
#WSBeanAxisType
#
WS_NAME_BEANAXIS=Java bean Axis Web service
