###############################################################################
# Copyright (c) 2007, 2010 WSO2 Inc. 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:
# WSO2 Inc. - initial API and implementation
# yyyymmdd bug      Email and other contact information
# -------- -------- -----------------------------------------------------------
# 20070118   168762 sandakith@wso2.com - Lahiru Sandakith, Initial code to introduse the Axis2 runtime to the framework for 168762
# 20070501   184617 sandakith@wso2.com - Lahiru Sandakith, Provide plugin details
# 20080530   234841 kathy@ca.ibm.com - Kathy Chan, Change plugin provider to Eclipse.org
###############################################################################
#

#
# Messages in plugin.xml.
#
PLUGIN_NAME=Webservice Axis2 Consumption UI Plug-in
PLUGIN_PROVIDER=Eclipse Web Tools Platform

WEBSERVICECLIENTTYPE_NAME_JAVA_AXIS=Java proxy
LABEL_RUNTIME_AXIS_11=Apache Axis2
DESC_RUNTIME_AXIS_11=Apache Axis2
#
#	Web Services Preferance Pages
#
# Categories
PREFERENCE_CATEGORY_AXIS2_EMITTER=Axis2 Emitter
