###############################################################################
# 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
# yyyymmdd bug      Email and other contact information
# -------- -------- -----------------------------------------------------------
# 20071122   209858 pmoogk@ca.ibm.com - Peter Moogk
###############################################################################

#
# Messages in plugin.xml.
#
PLUGIN_NAME=Web Services
PLUGIN_PROVIDER=Eclipse.org

# Extension point names
XP_WEB_SERVICE_LOCATOR=Web Service Locator
X_WEB_SERVICE_LOCATOR_WORKSPACE=Workspace Web Service Locator
X_WEB_SERVICE_LOCATOR_CATEGORY_WORKSPACE=Workspace WSDL documents
X_WSIL_CONTENT_TYPE=Web Services Inspection Language Document

MSG_ERROR_UNABLE_TO_START_MONITOR=IWAB0001E Unable to monitor port {0} of {1}.

# Currently known public UDDI registries
PUBLICUDDIREGISTRYTYPE_NAME_SAP=SAP UDDI Registry
PUBLICUDDIREGISTRYTYPE_NAME_SAP_TEST=SAP UDDI Test Registry
PUBLICUDDIREGISTRYTYPE_NAME_XMETHODS=XMethods Registry
PUBLICUDDIREGISTRYTYPE_NAME_NTTCOMM=NTT Communications Registry


PREFERENCE_SERVICEPOLICIES_CONTAINER_WSI_COMPLIANCE=Profile Compliance
LABEL_WSI_SSBP=WS-I SSBP 1.0
LABEL_WSI_AP=WS-I AP 1.0

