###############################################################################
# Copyright (c) 2007 Actuate Corporation.
# 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:
#  Actuate Corporation - initial API and implementation
#
###############################################################################
# Plug-in Configuration
#
oda.data.source.id=org.eclipse.datatools.enablement.oda.ws
#
###############################################################################
# NLS String
#
plugin.name=Eclipse Data Tools Platform Web Services ODA Runtime Driver
data.source.name=Web Services Data Source
data.set.name=Web Services Data Set

connection.profile.name=Web Services Data Source Connection Profile

datasource.property.soapEndPoint=&SOAP End Point
datasource.property.connectionClass=Connection &Class
datasource.property.connectionTimeOut=Connection &Time Out
dataset.property.xmlFileURI=&XML File
dataset.property.xsdFileURI=&Schema File
datasource.property.wsdlUrl=&WSDL URL
datasource.property.driverClassPath=Driver Class&Path