###############################################################################
# Copyright (c) 2009 by SAP AG, Walldorf. 
# 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:
#     SAP AG - initial API and implementation
###############################################################################
DOMAdapterFactoryLabelProvider_JaxWsWebServicesLabel		= JAX-WS Web Services
DOMAdapterFactoryLabelProvider_LoadingCanceledLabel			= Loading Canceled
DOMAdapterFactoryLabelProvider_LoadingDummyLabel			= Loading...
DOMAdapterFactoryLabelProvider_SeiLabel						= Service Endpoint Interfaces
DOMAdapterFactoryLabelProvider_WebServicesLabel				= Web Services

OpenWSResourceAction_Name									= Open

NavigateToImplementationAction_ShowInWebServicesAreaAction	= Locate in Web Services Node
NavigateToImplementationAction_ShowInEJBAreaAction			= Locate in Deployment Descriptor Node
