###############################################################################
# Copyright (c) 2008, 2012 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
###############################################################################
#
#
key=sync
name = Synchronous BPEL Process
resource.1 = sample.bpel
resource.1.name = ${processName}.bpel
resource.2 = sample.wsdl
resource.2.name = ${processName}Artifacts.wsdl
#
#
description = Generates an empty BPEL process. Only receive and reply activities are \
 placed in the process body. The caller will block until all the steps in the process \
 have completed. A client interface is generated.
 
# 
namespace.1 = http://eclipse.org/bpel/sample
namespace.2 = http://sample.bpel.org/bpel/sample