###############################################################################
# Copyright (c) 2003, 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
###############################################################################
ERR_HANDLER_DISPLAY_NAME_EMPTY=The handler name cannot be empty.
ERR_HANDLER_DISPLAY_NAME_EXIST=The handler name already exists.
ERR_HANDLER_PARAM_NAME_EMPTY=The handler initialization parameter name cannot be empty.
ERR_HANDLER_NAMESPACE_URL_EMPTY=The handler name space URL cannot be empty.ServiceRefItemProvider.0=ServiceRef
ERR_HANDLER_PARAM_NAME_EXISTS=The parameter name already exist.
ERR_HANDLER_NAMESPACE_URL_EXISTS=The handler name space URL already exisit, please change name.