[savara-commits] savara SVN: r531 - in branches/experimental/2.0.x/bundles: org.savara.bpel/src/main/java/org/savara/bpel/parser and 8 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Jan 4 16:53:08 EST 2011


Author: objectiser
Date: 2011-01-04 16:53:07 -0500 (Tue, 04 Jan 2011)
New Revision: 531

Added:
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/parser/
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/parser/ParserTest.java
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Broker.spr
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Buyer.scv
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at CreditAgency.scv
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at SupplierQuoteEngine.scv
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at SupplierTxnProcessor.scv
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/LoanApprovalService at Service.scv
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/PurchaseGoods at Buyer.scv
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/PurchaseGoods at CreditAgency.scv
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/PurchaseGoods at Store.scv
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ReqRespFault at Buyer.scv
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ReqRespFault at Seller.scv
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/CompleteTransaction_SupplierTxnProcessor.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/CompleteTransaction_SupplierTxnProcessor.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/CompleteTransaction_SupplierTxnProcessorArtifacts.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Broker.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Broker.bpelOLD
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Broker.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_BrokerArtifacts.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Buyer.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_BuyerArtifacts.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_CreditAgency.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_CreditAgency.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_CreditAgencyArtifacts.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Supplier.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/LoanApprovalService at Service.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_Buyer.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_BuyerArtifacts.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_CreditAgency.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_CreditAgency.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_CreditAgencyArtifacts.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_Store.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_Store.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_StoreArtifacts.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_Buyer.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_BuyerArtifacts.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_Seller.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_Seller.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_SellerArtifacts.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/RequestForQuote_SupplierQuoteEngine.bpel
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/RequestForQuote_SupplierQuoteEngine.wsdl
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/RequestForQuote_SupplierQuoteEngineArtifacts.wsdl
Removed:
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/OnMessageGenerationRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/test/java/org/savara/bpel/parser/ParserTest.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/test/java/org/savara/bpel/parser/results/
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/test/java/org/savara/bpel/parser/testmodels/
Modified:
   branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/generator/GeneratorTest.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ConversionContext.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/DefaultConversionContext.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ElseGenerationRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ElseifGenerationRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/FlowGenerationRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/IfGenerationRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/InvokeGenerationRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/PickGenerationRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ProcessGenerationRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ProtocolGenerationRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ReceiveGenerationRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ReplyGenerationRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ScopeGenerationRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/SequenceGenerationRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/WhileGenerationRule.java
   branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/parser/BPELProtocolParser.java
Log:
Setup initial parser test, and update BPEL parser rules to use the journal and report particular issues that prevent the creation of a valid protocol model.

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ConversionContext.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ConversionContext.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ConversionContext.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -20,6 +20,7 @@
 import org.savara.bpel.model.TProcess;
 import org.savara.bpel.model.TScope;
 import org.savara.bpel.model.TVariable;
+import org.scribble.common.logging.Journal;
 import org.scribble.common.resource.ResourceLocator;
 import org.scribble.protocol.model.Activity;
 
@@ -31,7 +32,7 @@
 	 * @param component The domain component
 	 * @param activities The list of protocol activities to place the conversion results
 	 */
-	public void convert(Object component, java.util.List<Activity> activities);
+	public void convert(Object component, java.util.List<Activity> activities, Journal journal);
 	
 	/**
 	 * This method returns a reference to the resource locator.

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/DefaultConversionContext.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/DefaultConversionContext.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/DefaultConversionContext.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -20,6 +20,7 @@
 import org.savara.bpel.model.TProcess;
 import org.savara.bpel.model.TScope;
 import org.savara.bpel.model.TVariable;
+import org.scribble.common.logging.Journal;
 import org.scribble.common.resource.ResourceLocator;
 import org.scribble.protocol.model.Activity;
 
@@ -45,7 +46,7 @@
 		m_rules.add(new FlowGenerationRule());
 		m_rules.add(new IfGenerationRule());
 		m_rules.add(new InvokeGenerationRule());
-		m_rules.add(new OnMessageGenerationRule());
+		//m_rules.add(new OnMessageGenerationRule());
 		m_rules.add(new PickGenerationRule());
 		m_rules.add(new ProcessGenerationRule());
 		m_rules.add(new ReceiveGenerationRule());
@@ -75,7 +76,7 @@
 	 * @param component The domain component
 	 * @param activities The list of protocol activities to place the conversion results
 	 */
-	public void convert(Object component, java.util.List<Activity> activities) {
+	public void convert(Object component, java.util.List<Activity> activities, Journal journal) {
 		ProtocolGenerationRule rule=null;
 		
 		for (int i=0; rule == null && i < m_rules.size(); i++) {
@@ -85,7 +86,7 @@
 		}
 		
 		if (rule != null) {
-			rule.convert(this, component, activities);
+			rule.convert(this, component, activities, journal);
 		}
 	}
 	
@@ -169,6 +170,6 @@
 	 * @return The scope, or null if not within a scope
 	 */
 	public TScope getScope() {
-		return(m_scopeStack.peek());
+		return(m_scopeStack.size() > 0 ? m_scopeStack.peek() : null);
 	}
 }

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ElseGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ElseGenerationRule.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ElseGenerationRule.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -22,6 +22,7 @@
 import org.savara.bpel.model.TActivity;
 import org.savara.bpel.model.TActivityContainer;
 import org.savara.bpel.util.ActivityUtil;
+import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.Activity;
 
 /**
@@ -34,13 +35,14 @@
 		return(component instanceof TActivityContainer);
 	}
 		
-	public void convert(ConversionContext context, Object component, List<Activity> activities) {
+	public void convert(ConversionContext context, Object component, List<Activity> activities,
+									Journal journal) {
 		TActivityContainer container=(TActivityContainer)component;
 		
 		TActivity act=ActivityUtil.getActivity(container);
 		
 		if (act != null) {
-			context.convert(act, activities);
+			context.convert(act, activities, journal);
 		}
 	}
 }

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ElseifGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ElseifGenerationRule.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ElseifGenerationRule.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -22,6 +22,7 @@
 import org.savara.bpel.model.TActivity;
 import org.savara.bpel.model.TElseif;
 import org.savara.bpel.util.ActivityUtil;
+import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.Activity;
 
 /**
@@ -34,13 +35,14 @@
 		return(component instanceof TElseif);
 	}
 		
-	public void convert(ConversionContext context, Object component, List<Activity> activities) {
+	public void convert(ConversionContext context, Object component, List<Activity> activities,
+								Journal journal) {
 		TElseif container=(TElseif)component;
 		
 		TActivity act=ActivityUtil.getActivity(container);
 		
 		if (act != null) {
-			context.convert(act, activities);
+			context.convert(act, activities, journal);
 		}
 	}
 }

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/FlowGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/FlowGenerationRule.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/FlowGenerationRule.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -20,6 +20,7 @@
 import java.util.List;
 
 import org.savara.bpel.model.TFlow;
+import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.*;
 
 /**
@@ -32,7 +33,8 @@
 		return(component instanceof TFlow);
 	}
 		
-	public void convert(ConversionContext context, Object component, List<Activity> activities) {
+	public void convert(ConversionContext context, Object component, List<Activity> activities,
+									Journal journal) {
 		TFlow elem=(TFlow)component;
 		
 		//getSource().setComponentURI(getURI());
@@ -74,7 +76,7 @@
 		for (int i=0; i < elem.getActivity().size(); i++) {
 			Block b=new Block();
 			
-			context.convert(elem.getActivity().get(i), b.getContents());
+			context.convert(elem.getActivity().get(i), b.getContents(), journal);
 			
 			parallel.getBlocks().add(b);
 		}

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/IfGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/IfGenerationRule.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/IfGenerationRule.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -23,6 +23,7 @@
 import org.savara.bpel.model.TElseif;
 import org.savara.bpel.model.TIf;
 import org.savara.bpel.util.ActivityUtil;
+import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.*;
 
 /**
@@ -35,7 +36,8 @@
 		return(component instanceof TIf);
 	}
 		
-	public void convert(ConversionContext context, Object component, List<Activity> activities) {
+	public void convert(ConversionContext context, Object component, List<Activity> activities,
+									Journal journal) {
 		TIf bpelElem=(TIf)component;
 		
 		//getSource().setComponentURI(getURI());
@@ -50,7 +52,7 @@
 		TActivity act=ActivityUtil.getActivity(bpelElem);
 		
 		if (act != null) {
-			context.convert(act, cb.getBlock().getContents());
+			context.convert(act, cb.getBlock().getContents(), journal);
 		}
 		
 		elem.getWhens().add(cb);
@@ -61,7 +63,7 @@
 			
 			cb = new When();
 			
-			context.convert(elseIfElem, cb.getBlock().getContents());
+			context.convert(elseIfElem, cb.getBlock().getContents(), journal);
 			
 			elem.getWhens().add(cb);
 		}
@@ -70,7 +72,7 @@
 		if (bpelElem.getElse() != null) {
 			cb = new When();
 			
-			context.convert(bpelElem.getElse(), cb.getBlock().getContents());
+			context.convert(bpelElem.getElse(), cb.getBlock().getContents(), journal);
 			
 			elem.getWhens().add(cb);
 		}

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/InvokeGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/InvokeGenerationRule.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/InvokeGenerationRule.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -28,6 +28,7 @@
 import org.savara.bpel.util.InteractionUtil;
 import org.savara.bpel.util.PartnerLinkUtil;
 import org.savara.bpel.util.TypeReferenceUtil;
+import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.*;
 
 /**
@@ -41,7 +42,8 @@
 		return(component instanceof TInvoke);
 	}
 		
-	public void convert(ConversionContext context, Object component, List<Activity> activities) {
+	public void convert(ConversionContext context, Object component, List<Activity> activities,
+								Journal journal) {
 		TInvoke invoke=(TInvoke)component;
 		
 		//getSource().setComponentURI(getURI());

Deleted: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/OnMessageGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/OnMessageGenerationRule.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/OnMessageGenerationRule.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -1,77 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- */
-package org.savara.bpel.generator.protocol;
-
-import java.util.List;
-
-import org.savara.bpel.model.TActivity;
-import org.savara.bpel.model.TOnMessage;
-import org.savara.bpel.model.TVariable;
-import org.savara.bpel.util.ActivityUtil;
-import org.savara.bpel.util.InteractionUtil;
-import org.savara.bpel.util.PartnerLinkUtil;
-import org.savara.bpel.util.TypeReferenceUtil;
-import org.scribble.protocol.model.*;
-
-/**
- * This class represents the 'onMessage' construct contained
- * within the 'pick' activity.
- */
-public class OnMessageGenerationRule implements ProtocolGenerationRule {
-
-	public boolean isSupported(Object component) {
-		return(component instanceof TOnMessage);
-	}
-		
-	public void convert(ConversionContext context, Object component, List<Activity> activities) {
-		TOnMessage elem=(TOnMessage)component;
-		
-		Interaction interaction=new Interaction();
-		
-		TVariable var=context.getVariable(elem.getVariable());
-		
-		String xmlType=InteractionUtil.getXMLType(context.getProcess(), var.getMessageType(),
-				context.getResourceLocator());
-
-		TypeReference tref=TypeReferenceUtil.createTypeReference(xmlType, context);
-		
-		MessageSignature ms=new MessageSignature();
-		ms.setOperation(elem.getOperation());
-		ms.getTypeReferences().add(tref);
-		
-		String fromRole=PartnerLinkUtil.getServerPartnerRole(elem.getPartnerLink());
-		
-		if (fromRole != null) {
-			interaction.setFromRole(new Role(fromRole));
-		}
-		
-		if (context.getRole() != null) {
-			interaction.getToRoles().add(new Role(context.getRole()));
-		}
-		
-		interaction.setMessageSignature(ms);
-		
-		activities.add(interaction);
-
-		TActivity act=ActivityUtil.getActivity(elem);
-		
-		if (act != null) {
-			context.convert(act, activities);
-		}
-	}
-}

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/PickGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/PickGenerationRule.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/PickGenerationRule.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -19,9 +19,16 @@
 
 import java.util.List;
 
+import org.savara.bpel.model.TActivity;
 import org.savara.bpel.model.TOnMessage;
 import org.savara.bpel.model.TPick;
 import org.savara.bpel.model.TReply;
+import org.savara.bpel.model.TVariable;
+import org.savara.bpel.util.ActivityUtil;
+import org.savara.bpel.util.InteractionUtil;
+import org.savara.bpel.util.PartnerLinkUtil;
+import org.savara.bpel.util.TypeReferenceUtil;
+import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.*;
 
 /**
@@ -32,10 +39,11 @@
 public class PickGenerationRule implements ProtocolGenerationRule {
 
 	public boolean isSupported(Object component) {
-		return(component instanceof TReply);
+		return(component instanceof TPick);
 	}
 		
-	public void convert(ConversionContext context, Object component, List<Activity> activities) {
+	public void convert(ConversionContext context, Object component, List<Activity> activities,
+										Journal journal) {
 		TPick pick=(TPick)component;
 		
 		//getSource().setComponentURI(getURI());
@@ -43,14 +51,54 @@
 		org.scribble.protocol.model.Choice elem=
 					new org.scribble.protocol.model.Choice();
 		
+		Role fromRole=null;
+		
 		// Convert 'onMessage' paths
 		for (int i=0; i < pick.getOnMessage().size(); i++) {
 			TOnMessage onMessageElem=pick.getOnMessage().get(i);
 			
 			When cb = new When();
 			
-			context.convert(onMessageElem, cb.getBlock().getContents());
+			context.convert(onMessageElem, cb.getBlock().getContents(), journal);
 			
+			String fromRoleName=PartnerLinkUtil.getServerPartnerRole(onMessageElem.getPartnerLink());
+			
+			if (i == 0) {
+				// Obtain from/to roles
+				if (fromRoleName != null) {
+					fromRole = new Role(fromRoleName);
+				}
+			} else {
+				// TODO: Check 'from role' for other paths
+				if (fromRoleName != null &&
+						fromRole != null &&
+						fromRoleName.equals(fromRole.getName()) == false) {
+					journal.error("Pick path has different from roles", null);
+				}
+			}
+			
+			elem.setFromRole(fromRole);
+
+			TVariable var=context.getVariable(onMessageElem.getVariable());
+			
+			String xmlType=InteractionUtil.getXMLType(context.getProcess(), var.getMessageType(),
+					context.getResourceLocator());
+
+			TypeReference tref=TypeReferenceUtil.createTypeReference(xmlType, context);
+			
+			MessageSignature ms=new MessageSignature();
+			ms.setOperation(onMessageElem.getOperation());
+			ms.getTypeReferences().add(tref);
+			
+			cb.setMessageSignature(ms);
+			
+			// Process the contained activities
+			TActivity act=ActivityUtil.getActivity(onMessageElem);
+			
+			if (act != null) {
+				context.convert(act, cb.getBlock().getContents(), journal);
+			}
+
 			elem.getWhens().add(cb);
 		}
 		

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ProcessGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ProcessGenerationRule.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ProcessGenerationRule.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -29,6 +29,7 @@
 import org.savara.bpel.model.TVariable;
 import org.savara.bpel.util.ActivityUtil;
 import org.savara.bpel.util.InteractionUtil;
+import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.*;
 
 /**
@@ -42,7 +43,8 @@
 		return(component instanceof TProcess);
 	}
 		
-	public void convert(ConversionContext context, Object component, List<Activity> activities) {
+	public void convert(ConversionContext context, Object component, List<Activity> activities,
+								Journal journal) {
 		TProcess process=(TProcess)component;
 		
 		// Add variables to the context
@@ -78,7 +80,8 @@
 			// Include remaining activities
 			if (act instanceof TSequence) {
 				for (int i=1; i < ((TSequence)act).getActivity().size(); i++) {
-					context.convert(((TSequence)act).getActivity().get(i), cb.getBlock().getContents());
+					context.convert(((TSequence)act).getActivity().get(i), cb.getBlock().getContents(),
+										journal);
 				}
 			}
 			
@@ -113,7 +116,7 @@
 				TActivity cbact=ActivityUtil.getActivity(catchBlock);
 				
 				if (cbact != null) {
-					context.convert(cbact, fcb.getBlock().getContents());
+					context.convert(cbact, fcb.getBlock().getContents(), journal);
 				}
 				
 				choice.getWhens().add(fcb);
@@ -170,7 +173,7 @@
 					TActivity cbact=ActivityUtil.getActivity(catchPath);
 					
 					if (cbact != null) {
-						context.convert(cbact, cb.getBlock().getContents());
+						context.convert(cbact, cb.getBlock().getContents(), journal);
 					}
 					
 					if (faultVar != null) {
@@ -183,7 +186,7 @@
 			
 			// Convert normal activities in scope
 			if (act != null) {
-				context.convert(act, acts);
+				context.convert(act, acts, journal);
 			}
 		}
 	}

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ProtocolGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ProtocolGenerationRule.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ProtocolGenerationRule.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -17,6 +17,7 @@
  */
 package org.savara.bpel.generator.protocol;
 
+import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.Activity;
 
 /**
@@ -44,6 +45,7 @@
 	 * @param component The domain component
 	 * @param activities The list of protocol activities
 	 */
-	public void convert(ConversionContext context, Object component, java.util.List<Activity> activities);
+	public void convert(ConversionContext context, Object component, java.util.List<Activity> activities,
+								Journal journal);
 	
 }

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ReceiveGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ReceiveGenerationRule.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ReceiveGenerationRule.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -24,6 +24,7 @@
 import org.savara.bpel.util.InteractionUtil;
 import org.savara.bpel.util.PartnerLinkUtil;
 import org.savara.bpel.util.TypeReferenceUtil;
+import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.*;
 
 /**
@@ -38,7 +39,8 @@
 		return(component instanceof TReceive);
 	}
 		
-	public void convert(ConversionContext context, Object component, List<Activity> activities) {
+	public void convert(ConversionContext context, Object component, List<Activity> activities,
+									Journal journal) {
 		TReceive elem=(TReceive)component;
 		
 		//getSource().setComponentURI(getURI());

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ReplyGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ReplyGenerationRule.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ReplyGenerationRule.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -24,6 +24,7 @@
 import org.savara.bpel.util.InteractionUtil;
 import org.savara.bpel.util.PartnerLinkUtil;
 import org.savara.bpel.util.TypeReferenceUtil;
+import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.*;
 
 /**
@@ -37,7 +38,8 @@
 		return(component instanceof TReply);
 	}
 		
-	public void convert(ConversionContext context, Object component, List<Activity> activities) {
+	public void convert(ConversionContext context, Object component, List<Activity> activities,
+									Journal journal) {
 		TReply reply=(TReply)component;
 		
 		//getSource().setComponentURI(getURI());

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ScopeGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ScopeGenerationRule.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/ScopeGenerationRule.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -29,6 +29,7 @@
 import org.savara.bpel.model.TVariable;
 import org.savara.bpel.util.ActivityUtil;
 import org.savara.bpel.util.InteractionUtil;
+import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.*;
 
 /**
@@ -42,14 +43,17 @@
 		return(component instanceof TScope);
 	}
 		
-	public void convert(ConversionContext context, Object component, List<Activity> activities) {
+	public void convert(ConversionContext context, Object component, List<Activity> activities,
+							Journal journal) {
 		TScope scope=(TScope)component;
 		
 		//getSource().setComponentURI(getURI());
 		
 		// Add variables to the context
-		for (int i=0; i < scope.getVariables().getVariable().size(); i++) {
-			context.addVariable(scope.getVariables().getVariable().get(i));
+		if (scope.getVariables() != null) {
+			for (int i=0; i < scope.getVariables().getVariable().size(); i++) {
+				context.addVariable(scope.getVariables().getVariable().get(i));
+			}
 		}
 		
 		// Count number of invoke activities
@@ -60,7 +64,7 @@
 		// no event handlers
 		TInvoke invoke=null;
 		
-		if (invokeCount == 1 &&
+		if (//invokeCount == 1 &&
 				scope.getFaultHandlers() != null && (scope.getFaultHandlers().getCatch().size() > 0 ||
 						scope.getFaultHandlers().getCatchAll() != null) &&
 				(scope.getEventHandlers() == null || (scope.getEventHandlers().getOnEvent().size() == 0 &&
@@ -76,11 +80,20 @@
 			
 			InvokeGenerationRule.convertResponse(invoke, cb.getBlock().getContents(), context);
 			
+			if (cb.getBlock().getContents().size() > 0) {
+				Interaction resp=(Interaction)cb.getBlock().getContents().get(0);
+				cb.getBlock().getContents().remove(resp);
+				
+				cb.setMessageSignature(resp.getMessageSignature());
+				
+				choice.setFromRole(resp.getFromRole());
+			}
+			
 			// Include remaining activities
 			if (scope.getSequence() != null) {
 				for (int i=1; i < ((TSequence)scope.getSequence()).getActivity().size(); i++) {
 					context.convert(((TSequence)scope.getSequence()).getActivity().get(i),
-									cb.getBlock().getContents());
+									cb.getBlock().getContents(), journal);
 				}
 			}
 			
@@ -110,11 +123,25 @@
 				
 				InvokeGenerationRule.convertFaultResponse(invoke, fcb.getBlock().getContents(),
 							catchBlock.getFaultVariable(), mesgType, context);
+
+				if (fcb.getBlock().getContents().size() > 0) {
+					Interaction resp=(Interaction)fcb.getBlock().getContents().get(0);
+					fcb.getBlock().getContents().remove(resp);
+					
+					fcb.setMessageSignature(resp.getMessageSignature());
+					
+					// Validate from role
+					if (resp.getFromRole() != null &&
+							choice.getFromRole() != null &&
+							resp.getFromRole().equals(choice.getFromRole()) == false) {
+						journal.error("Fault handler 'from role' not same as normal response", null);
+					}
+				}
 				
 				TActivity act=ActivityUtil.getActivity(catchBlock);
 				
 				if (act != null) {
-					context.convert(act, fcb.getBlock().getContents());
+					context.convert(act, fcb.getBlock().getContents(), journal);
 				}
 				
 				choice.getWhens().add(fcb);
@@ -171,7 +198,7 @@
 					TActivity act=ActivityUtil.getActivity(catchPath);
 					
 					if (act != null) {
-						context.convert(act, cb.getBlock().getContents());
+						context.convert(act, cb.getBlock().getContents(), journal);
 					}
 					
 					if (faultVar != null) {
@@ -186,7 +213,7 @@
 			TActivity act=ActivityUtil.getActivity(scope);
 			
 			if (act != null) {
-				context.convert(act, acts);
+				context.convert(act, acts, journal);
 			}
 		}
 	}

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/SequenceGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/SequenceGenerationRule.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/SequenceGenerationRule.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -20,6 +20,7 @@
 import java.util.List;
 
 import org.savara.bpel.model.TSequence;
+import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.*;
 
 /**
@@ -33,13 +34,14 @@
 		return(component instanceof TSequence);
 	}
 		
-	public void convert(ConversionContext context, Object component, List<Activity> activities) {
+	public void convert(ConversionContext context, Object component, List<Activity> activities,
+									Journal journal) {
 		TSequence bpelElem=(TSequence)component;
 		
 		//getSource().setComponentURI(getURI());
 		
 		for (int i=0; i < bpelElem.getActivity().size(); i++) {
-			context.convert(bpelElem.getActivity().get(i), activities);
+			context.convert(bpelElem.getActivity().get(i), activities, journal);
 		}
 	}
 }

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/WhileGenerationRule.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/WhileGenerationRule.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/generator/protocol/WhileGenerationRule.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -22,6 +22,7 @@
 import org.savara.bpel.model.TActivity;
 import org.savara.bpel.model.TWhile;
 import org.savara.bpel.util.ActivityUtil;
+import org.scribble.common.logging.Journal;
 import org.scribble.protocol.model.*;
 
 /**
@@ -35,7 +36,8 @@
 		return(component instanceof TWhile);
 	}
 		
-	public void convert(ConversionContext context, Object component, List<Activity> activities) {
+	public void convert(ConversionContext context, Object component, List<Activity> activities,
+									Journal journal) {
 		TWhile bpelElem=(TWhile)component;
 		
 		//getSource().setComponentURI(getURI());
@@ -48,7 +50,7 @@
 		TActivity act=ActivityUtil.getActivity(bpelElem);
 		
 		if (act != null) {
-			context.convert(act, elem.getBlock().getContents());
+			context.convert(act, elem.getBlock().getContents(), journal);
 		}
 		
 		activities.add(elem);

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/parser/BPELProtocolParser.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/parser/BPELProtocolParser.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/parser/BPELProtocolParser.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -50,6 +50,7 @@
 		//ret.getBlock().derivedFrom(this);
 		
 		Protocol protocol=new Protocol();
+		ret.setProtocol(protocol);
 		
 		// Configure model name
 		protocol.setName(process.getName());
@@ -61,7 +62,7 @@
 		// Convert the process contents
 		DefaultConversionContext context=new DefaultConversionContext(role, process, locator);
 		
-		context.convert(process, protocol.getBlock().getContents());
+		context.convert(process, protocol.getBlock().getContents(), journal);
 		
 		return(ret);
 	}

Deleted: branches/experimental/2.0.x/bundles/org.savara.bpel/src/test/java/org/savara/bpel/parser/ParserTest.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel/src/test/java/org/savara/bpel/parser/ParserTest.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel/src/test/java/org/savara/bpel/parser/ParserTest.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -1,265 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA  02110-1301, USA.
- */
-package org.savara.bpel.parser;
-
-import java.net.URI;
-
-import org.savara.util.ScribbleServices;
-import org.scribble.common.logging.CachedJournal;
-import org.scribble.common.resource.ResourceLocator;
-import org.scribble.protocol.model.ProtocolModel;
-
-import junit.framework.TestCase;
-import junit.framework.TestResult;
-import junit.framework.TestSuite;
-
-public class ParserTest extends TestCase {
-
-    public static TestSuite suite() {
-        TestSuite suite = new TestSuite("BPEL->Conversation Parser Tests");
-        
-        /*
-        suite.addTest(new BPELToConversationTest("ESBBrokerProcess_Broker", "ESBBroker at Broker"));
-        suite.addTest(new BPELToConversationTest("ESBBrokerProcess_Buyer", "ESBBroker at Buyer"));
-        suite.addTest(new BPELToConversationTest("ESBBrokerProcess_CreditAgency", "ESBBroker at CreditAgency"));
-        suite.addTest(new BPELToConversationTest("RequestForQuote_SupplierQuoteEngine", "ESBBroker at SupplierQuoteEngine"));
-        suite.addTest(new BPELToConversationTest("CompleteTransaction_SupplierTxnProcessor", "ESBBroker at SupplierTxnProcessor"));
-        suite.addTest(new BPELToConversationTest("PurchaseGoodsProcess_Buyer", "PurchaseGoods at Buyer"));
-        suite.addTest(new BPELToConversationTest("PurchaseGoodsProcess_CreditAgency", "PurchaseGoods at CreditAgency"));
-        suite.addTest(new BPELToConversationTest("PurchaseGoodsProcess_Store", "PurchaseGoods at Store"));
-        suite.addTest(new BPELToConversationTest("ReqRespFaultProcess_Buyer", "ReqRespFault at Buyer"));
-        suite.addTest(new BPELToConversationTest("ReqRespFaultProcess_Seller", "ReqRespFault at Seller"));
-        
-        /**
-         * TODO: (SAVARA-150) Commenting out this test for now, as we now need the accompanying WSDL to be able to
-         * resolve the message type's underlying XSD element or type.
-         *
-        suite.addTest(new BPELToConversationTest("LoanApprovalService at Service", "LoanApprovalService at Service"));
-         */
-
-        return suite;
-    }
-    
-    /**
-     * The test case for running the BPEL to Conversation test.
-     */
-	protected static class BPELToConversationTest extends TestCase {
-
-		/**
-		 * This constructor is initialized with the test
-		 * name.
-		 * 
-		 * @param name The test name
-		 */
-		public BPELToConversationTest(String bpelName, String scvName) {
-			super(bpelName+"->"+scvName);
-			m_bpelName = bpelName;
-			m_scvName = scvName;
-		}
-		
-		/**
-		 * This method runs the test.
-		 * 
-		 * @param result The test result
-		 */
-		public void run(TestResult result) {
-			result.startTest(this);
-			
-			String filename="testmodels/"+m_bpelName+".bpel";
-			
-			java.io.InputStream is=
-				ParserTest.class.getResourceAsStream(filename);
-			
-			if (is == null) {
-				result.addError(this,
-						new Throwable("Unable to locate resource: "+filename));
-			} else {			
-    			CachedJournal journal=new CachedJournal();
-    			
-    			org.scribble.protocol.model.ProtocolModel model=null;
-    			
-    			try {
-    				model = ScribbleServices.getParserManager().parse("bpel", is, journal, new ResourceLoaderImpl());
-    			} catch(Exception e) {
-    				result.addError(this, new Throwable("Parsing BPEL failed"));
-    			}
-    			
-				if (model == null) {
-					result.addError(this, new Throwable("Model is null"));
-						
-				} else if (journal.hasErrors()) {
-					result.addError(this, new Throwable("Failed to parse CDM Model"));
-					
-					for (int i=0; i < journal.getIssues().size(); i++) {
-						System.err.println("Issue: "+
-								journal.getIssues().get(i).getMessage());
-					}
-				} else {
-					ProtocolModel lm=(ProtocolModel)model;
-
-					try {
-						org.scribble.protocol.export.ProtocolExporter exporter=
-							ScribbleServices.getProtocolExportManager().getExporter("spr");
-
-						java.io.ByteArrayOutputStream os=
-							new java.io.ByteArrayOutputStream();
-						
-						exporter.export(lm, journal, os);
-						
-						os.close();
-						
-						String str=new String(os.toByteArray());
-						
-						checkResults(result, str);
-						
-					} catch(Exception e) {
-						e.printStackTrace();
-					}
-				}
-			}
-			
-			result.endTest(this);
-		}
-		
-		/**
-		 * This method checks the generated jboss-esb.xml against a
-		 * previously stored correct version.
-		 * 
-		 * @param result The test result
-		 * @param conv The conversation
-		 */
-		protected void checkResults(TestResult result, String conv) {
-			boolean f_valid=false;
-
-			String filename="results/"+m_scvName+".scv";
-			
-			java.io.InputStream is=
-				ParserTest.class.getResourceAsStream(filename);
-			
-			if (is != null) {
-				
-				try {
-					byte[] b=new byte[is.available()];
-				
-					is.read(b);
-					
-					is.close();
-					
-					String orig=new String(b);
-					
-					if (orig.equals(conv) == false) {
-						result.addError(this,
-							new Throwable("Generated Conversation does not match stored version"));
-					} else {
-						f_valid = true;
-					}
-				} catch(Exception e) {
-					result.addError(this, e);
-				}
-			} else {
-				result.addError(this,
-						new Throwable("Resulting Conversation '"+filename+
-								"' not found for comparison"));
-			}
-			
-			if (f_valid == false) {
-				String bpelfile="testmodels/"+m_bpelName+".bpel";
-				
-				java.net.URL url=ParserTest.class.getResource(bpelfile);
-				
-				/*
-				try {
-					url = org.eclipse.core.runtime.FileLocator.toFileURL(url);
-				} catch(Exception e) {
-					e.printStackTrace();
-				}
-				*/
-				
-				if (url != null) {
-					// URL will point to copy of test models in the classes folder, so need
-					// to obtain reference back to source version
-					java.io.File f=null;
-					
-					if (url.getFile().indexOf("classes") != -1) {
-						f = new java.io.File(url.getFile().replaceFirst("classes","src/plugintest"));
-					} else if (url.getFile().indexOf("bin") != -1) {						
-						f = new java.io.File(url.getFile().replaceFirst("bin","src/plugintest"));
-					} else {
-						result.addError(this, new Exception("Could not locate results folder to record expected result"));
-					}
-					
-					if (f != null && f.exists()) {
-						f = f.getParentFile().getParentFile();
-						
-						java.io.File resultsDir=new java.io.File(f, "results");
-						
-						if (resultsDir.exists() == false) {
-							resultsDir.mkdirs();
-						}
-						
-						java.io.File resultFile=new java.io.File(resultsDir, m_scvName+".expected");
-						
-						if (resultFile.exists() == false) {
-							try {
-								java.io.FileOutputStream fos=new java.io.FileOutputStream(resultFile);
-								
-								fos.write(conv.getBytes());
-								
-								fos.flush();
-								fos.close();
-								
-							} catch(Exception e){
-								result.addError(this, e);
-							}
-						} else {
-							System.err.println("NOTE: Expected output '"+resultFile+
-										"' already exists - not being overwritten");
-						}
-					} else {
-						result.addError(this, new Throwable("Unable to obtain URL for BPEL model source '"+
-								m_bpelName+"': "+url));
-					}
-				}
-			}
-		}
-
-		private String m_bpelName=null;
-		private String m_scvName=null;
-	}
-
-	public static class ResourceLoaderImpl implements ResourceLocator {
-
-		public ResourceLoaderImpl() {
-		}
-
-		public URI getResourceURI(String uri) {
-			String filename="testmodels/"+uri;
-			
-			java.net.URI ret=null;
-			
-			try {
-				ret = ParserTest.class.getResource(filename).toURI();
-			} catch(Exception e) {
-				e.printStackTrace();
-			}
-			
-			return(ret);
-		}
-		
-	}
-}

Modified: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/generator/GeneratorTest.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/generator/GeneratorTest.java	2011-01-04 17:44:48 UTC (rev 530)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/generator/GeneratorTest.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -23,14 +23,10 @@
 import junit.framework.TestSuite;
 
 import org.savara.util.PropertyNames;
-import org.savara.util.ScribbleServices;
 import org.savara.bpel.model.TProcess;
 import org.savara.bpel.util.BPELModelUtil;
 import org.savara.model.generator.ModelGenerator;
-import org.savara.util.XMLUtils;
 import org.scribble.common.logging.CachedJournal;
-import org.scribble.protocol.model.Protocol;
-import org.scribble.protocol.model.ProtocolModel;
 import org.savara.pi4soa.cdm.parser.CDMProtocolParser;
 
 public class GeneratorTest {
@@ -50,7 +46,7 @@
         
         suite.addTest(new ChoreographyToBPELTester("ReqRespFault", "Buyer"));
         suite.addTest(new ChoreographyToBPELTester("ReqRespFault", "Seller"));
-         
+        
         return suite;
     }
     

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/parser/ParserTest.java
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/parser/ParserTest.java	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/java/org/savara/bpel/parser/ParserTest.java	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,273 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ */
+package org.savara.bpel.parser;
+
+import java.net.URI;
+
+import org.savara.util.ScribbleServices;
+import org.scribble.common.logging.CachedJournal;
+import org.scribble.common.resource.ResourceLocator;
+import org.scribble.protocol.model.ProtocolModel;
+
+import junit.framework.TestCase;
+import junit.framework.TestResult;
+import junit.framework.TestSuite;
+
+public class ParserTest extends TestCase {
+
+    public static TestSuite suite() {
+        TestSuite suite = new TestSuite("BPEL->Protocol Parser Tests");
+        
+        suite.addTest(new BPELToProtocolTest("ESBBrokerProcess_Broker", "ESBBroker at Broker"));
+        
+        /*
+        suite.addTest(new BPELToProtocolTest("ESBBrokerProcess_Buyer", "ESBBroker at Buyer"));
+        suite.addTest(new BPELToProtocolTest("ESBBrokerProcess_CreditAgency", "ESBBroker at CreditAgency"));
+        suite.addTest(new BPELToProtocolTest("RequestForQuote_SupplierQuoteEngine", "ESBBroker at SupplierQuoteEngine"));
+        suite.addTest(new BPELToProtocolTest("CompleteTransaction_SupplierTxnProcessor", "ESBBroker at SupplierTxnProcessor"));
+        suite.addTest(new BPELToProtocolTest("PurchaseGoodsProcess_Buyer", "PurchaseGoods at Buyer"));
+        suite.addTest(new BPELToProtocolTest("PurchaseGoodsProcess_CreditAgency", "PurchaseGoods at CreditAgency"));
+        suite.addTest(new BPELToProtocolTest("PurchaseGoodsProcess_Store", "PurchaseGoods at Store"));
+        suite.addTest(new BPELToProtocolTest("ReqRespFaultProcess_Buyer", "ReqRespFault at Buyer"));
+        suite.addTest(new BPELToProtocolTest("ReqRespFaultProcess_Seller", "ReqRespFault at Seller"));
+        */
+        
+        /**
+         * TODO: (SAVARA-150) Commenting out this test for now, as we now need the accompanying WSDL to be able to
+         * resolve the message type's underlying XSD element or type.
+         *
+        suite.addTest(new BPELToConversationTest("LoanApprovalService at Service", "LoanApprovalService at Service"));
+         */
+
+        return suite;
+    }
+    
+    /**
+     * The test case for running the BPEL to Protocol test.
+     */
+	protected static class BPELToProtocolTest extends TestCase {
+
+		/**
+		 * This constructor is initialized with the test
+		 * name.
+		 * 
+		 * @param name The test name
+		 */
+		public BPELToProtocolTest(String bpelName, String scvName) {
+			super(bpelName+"->"+scvName);
+			m_bpelName = bpelName;
+			m_scvName = scvName;
+		}
+		
+		/**
+		 * This method runs the test.
+		 * 
+		 * @param result The test result
+		 */
+		public void run(TestResult result) {
+			result.startTest(this);
+			
+			String filename="parser/testmodels/"+m_bpelName+".bpel";
+			
+			java.io.InputStream is=
+				//ParserTest.class.getResourceAsStream(filename);
+				ClassLoader.getSystemResourceAsStream(filename);
+			
+			if (is == null) {
+				result.addError(this,
+						new Throwable("Unable to locate resource: "+filename));
+			} else {			
+    			CachedJournal journal=new CachedJournal();
+    			
+    			org.scribble.protocol.model.ProtocolModel model=null;
+    			
+    			try {
+    				BPELProtocolParser parser=new BPELProtocolParser();
+    				
+    				model = parser.parse(is, journal, new ResourceLoaderImpl());
+    			} catch(Exception e) {
+    				e.printStackTrace();
+    				result.addError(this, new Throwable("Parsing BPEL failed"));
+    			}
+    			
+				if (model == null) {
+					result.addError(this, new Throwable("Model is null"));
+						
+				} else if (journal.hasErrors()) {
+					result.addError(this, new Throwable("Failed to parse CDM Model"));
+					
+					for (int i=0; i < journal.getIssues().size(); i++) {
+						System.err.println("Issue: "+
+								journal.getIssues().get(i).getMessage());
+					}
+				} else {
+					ProtocolModel lm=(ProtocolModel)model;
+
+					try {
+						org.scribble.protocol.export.text.TextProtocolExporter exporter=
+							new org.scribble.protocol.export.text.TextProtocolExporter();
+				
+						java.io.ByteArrayOutputStream os=
+							new java.io.ByteArrayOutputStream();
+						
+						exporter.export(lm, journal, os);
+						
+						os.close();
+						
+						String str=new String(os.toByteArray());
+						
+						checkResults(result, str);
+						
+					} catch(Exception e) {
+						e.printStackTrace();
+					}
+				}
+			}
+			
+			result.endTest(this);
+		}
+		
+		/**
+		 * This method checks the generated jboss-esb.xml against a
+		 * previously stored correct version.
+		 * 
+		 * @param result The test result
+		 * @param conv The conversation
+		 */
+		protected void checkResults(TestResult result, String conv) {
+			boolean f_valid=false;
+
+			String filename="parser/results/"+m_scvName+".spr";
+			
+			java.io.InputStream is=
+				//ParserTest.class.getResourceAsStream(filename);
+				ClassLoader.getSystemResourceAsStream(filename);
+			
+			if (is != null) {
+				
+				try {
+					byte[] b=new byte[is.available()];
+				
+					is.read(b);
+					
+					is.close();
+					
+					String orig=new String(b);
+					
+					if (orig.equals(conv) == false) {
+						result.addError(this,
+							new Throwable("Generated protocol does not match stored version"));
+					} else {
+						f_valid = true;
+					}
+				} catch(Exception e) {
+					result.addError(this, e);
+				}
+			} else {
+				result.addError(this,
+						new Throwable("Resulting protocol '"+filename+
+								"' not found for comparison"));
+			}
+			
+			if (f_valid == false) {
+				String bpelfile="parser/testmodels/"+m_bpelName+".bpel";
+				
+				java.net.URL url=//ParserTest.class.getResource(bpelfile);
+						ClassLoader.getSystemResource(bpelfile);
+				
+				/*
+				try {
+					url = org.eclipse.core.runtime.FileLocator.toFileURL(url);
+				} catch(Exception e) {
+					e.printStackTrace();
+				}
+				*/
+				
+				if (url != null) {
+					// URL will point to copy of test models in the classes folder, so need
+					// to obtain reference back to source version
+					java.io.File f=null;
+					
+					if (url.getFile().indexOf("classes") != -1) {
+						f = new java.io.File(url.getFile().replaceFirst("classes","src/test/resources"));
+					} else if (url.getFile().indexOf("bin") != -1) {						
+						f = new java.io.File(url.getFile().replaceFirst("bin","src/test/resources"));
+					} else {
+						result.addError(this, new Exception("Could not locate results folder to record expected result"));
+					}
+					
+					if (f != null && f.exists()) {
+						f = f.getParentFile().getParentFile();
+						
+						java.io.File resultsDir=new java.io.File(f, "results");
+						
+						if (resultsDir.exists() == false) {
+							resultsDir.mkdirs();
+						}
+						
+						java.io.File resultFile=new java.io.File(resultsDir, m_scvName+".generated");
+						
+						if (resultFile.exists() == false) {
+							try {
+								java.io.FileOutputStream fos=new java.io.FileOutputStream(resultFile);
+								
+								fos.write(conv.getBytes());
+								
+								fos.flush();
+								fos.close();
+								
+							} catch(Exception e){
+								result.addError(this, e);
+							}
+						} else {
+							System.err.println("NOTE: Generated output '"+resultFile+
+										"' already exists - not being overwritten");
+						}
+					} else {
+						result.addError(this, new Throwable("Unable to obtain URL for BPEL model source '"+
+								m_bpelName+"': "+url));
+					}
+				}
+			}
+		}
+
+		private String m_bpelName=null;
+		private String m_scvName=null;
+	}
+
+	public static class ResourceLoaderImpl implements ResourceLocator {
+
+		public ResourceLoaderImpl() {
+		}
+
+		public URI getResourceURI(String uri) {
+			String filename="parser/testmodels/"+uri;
+			
+			java.net.URI ret=null;
+			
+			try {
+				ret = ClassLoader.getSystemResource(filename).toURI();
+			} catch(Exception e) {
+				e.printStackTrace();
+			}
+			
+			return(ret);
+		}
+		
+	}
+}

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Broker.spr
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Broker.spr	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Broker.spr	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,25 @@
+protocol ESBBrokerProcess_Broker {
+	makeEnquiry(enquiry) from Buyer;
+	repeat {
+		getQuote(requestForQuote) to SupplierQuoteEngine;
+		getQuote(quote) from SupplierQuoteEngine;
+	}
+	makeEnquiry(quoteList) to Buyer;
+	choice from Buyer {
+		buy(buy):
+			checkCredit(CreditCheckRequest) to CreditAgency;
+			choice from CreditAgency {
+				checkCredit(CreditCheckOk):
+					confirm(orderConfirmed) to SupplierTxnProcessor;
+					confirm(bookingReference) from SupplierTxnProcessor;
+					buy(bookingReference) to Buyer;
+
+				checkCredit(CreditCheckInvalid):
+					buy(orderRejected) to Buyer;
+
+			}
+
+		cancel(cancel):
+
+	}
+}

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Buyer.scv
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Buyer.scv	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at Buyer.scv	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,16 @@
+namespace null;
+
+conversation ESBBrokerProcess_Buyer at Buyer implements LoanBroker at Buyer {
+	makeEnquiry(enquiry) from Buyer to Broker;
+	makeEnquiry(quoteList) from Broker to Buyer;
+	if {
+		buy(buy) from Buyer to Broker;
+		if {
+			buy(bookingReference) from Broker to Buyer;
+		} else if {
+			buy(orderRejected) from Broker to Buyer;
+		}
+	} else if {
+		cancel(cancel) from Buyer to Broker;
+	}
+}
\ No newline at end of file

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at CreditAgency.scv
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at CreditAgency.scv	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at CreditAgency.scv	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,12 @@
+namespace null;
+
+conversation ESBBrokerProcess_CreditAgency at CreditAgency implements Common at CreditAgency {
+	if {
+		checkCredit(CreditCheckRequest) from Broker to CreditAgency;
+		if {
+			checkCredit(CreditCheckOk) from CreditAgency to Broker;
+		} else if {
+			checkCredit(CreditCheckInvalid) from CreditAgency to Broker;
+		}
+	}
+}
\ No newline at end of file

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at SupplierQuoteEngine.scv
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at SupplierQuoteEngine.scv	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at SupplierQuoteEngine.scv	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,6 @@
+namespace null;
+
+conversation RequestForQuote_SupplierQuoteEngine at SupplierQuoteEngine implements LoanBroker at SupplierQuoteEngine {
+	getQuote(requestForQuote) from Broker to SupplierQuoteEngine;
+	getQuote(quote) from SupplierQuoteEngine to Broker;
+}
\ No newline at end of file

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at SupplierTxnProcessor.scv
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at SupplierTxnProcessor.scv	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ESBBroker at SupplierTxnProcessor.scv	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,8 @@
+namespace null;
+
+conversation CompleteTransaction_SupplierTxnProcessor at SupplierTxnProcessor implements LoanBroker at SupplierTxnProcessor {
+	if {
+		confirm(orderConfirmed) from Broker to SupplierTxnProcessor;
+		confirm(bookingReference) from SupplierTxnProcessor to Broker;
+	}
+}
\ No newline at end of file

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/LoanApprovalService at Service.scv
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/LoanApprovalService at Service.scv	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/LoanApprovalService at Service.scv	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,41 @@
+namespace null;
+
+conversation loanApprovalProcess {
+	try {
+		boolean	receive-to-assess, receive-to-approval, approval-to-reply, assess-to-setMessage, setMessage-to-reply, assess-to-approval;
+		parallel {
+			request(creditInformationMessage) from customer;
+			receive-to-assess = xpath[true()];
+			receive-to-approval = xpath[true()];
+		} and {
+			when (xpath[$receive-to-assess])  {
+				check(creditInformationMessage) to assessor;
+				if {
+					check(riskAssessmentMessage) from assessor;
+				} else if {
+					check(errorMessage) from assessor;
+					raise lns:loanProcessFault;
+				}
+				assess-to-setMessage = xpath[true()];
+				assess-to-approval = xpath[true()];
+			}
+		} and {
+			when (xpath[$receive-to-approval and $assess-to-approval])  {
+				approve(creditInformationMessage) to approver;
+				if {
+					approve(approvalMessage) from approver;
+				} else if {
+					approve(errorMessage) from approver;
+					raise lns:loanProcessFault;
+				}
+				approval-to-reply = xpath[true()];
+			}
+		} and {
+			when (xpath[$setMessage-to-reply and $approval-to-reply])  {
+				request(approvalMessage) to customer;
+			}
+		}
+	} catch lns:loanProcessFault {
+		request(errorMessage) to customer;
+	}
+}
\ No newline at end of file

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/PurchaseGoods at Buyer.scv
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/PurchaseGoods at Buyer.scv	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/PurchaseGoods at Buyer.scv	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,10 @@
+namespace null;
+
+conversation PurchaseGoodsProcess_Buyer at Buyer implements Purchasing at Buyer {
+	buy(BuyRequest) from Buyer to Store;
+	if {
+		buy(BuyConfirmed) from Store to Buyer;
+	} else if {
+		buy(BuyFailed) from Store to Buyer;
+	}
+}
\ No newline at end of file

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/PurchaseGoods at CreditAgency.scv
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/PurchaseGoods at CreditAgency.scv	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/PurchaseGoods at CreditAgency.scv	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,10 @@
+namespace null;
+
+conversation PurchaseGoodsProcess_CreditAgency at CreditAgency implements Common at CreditAgency {
+	checkCredit(CreditCheckRequest) from Store to CreditAgency;
+	if {
+		checkCredit(CreditCheckOk) from CreditAgency to Store;
+	} else if {
+		checkCredit(CreditCheckInvalid) from CreditAgency to Store;
+	}
+}
\ No newline at end of file

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/PurchaseGoods at Store.scv
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/PurchaseGoods at Store.scv	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/PurchaseGoods at Store.scv	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,13 @@
+namespace null;
+
+conversation PurchaseGoodsProcess_Store at Store implements Purchasing at Store {
+	buy(BuyRequest) from Buyer to Store;
+	checkCredit(CreditCheckRequest) from Store to CreditAgency;
+	if {
+		checkCredit(CreditCheckOk) from CreditAgency to Store;
+		buy(BuyConfirmed) from Store to Buyer;
+	} else if {
+		checkCredit(CreditCheckInvalid) from CreditAgency to Store;
+		buy(BuyFailed) from Store to Buyer;
+	}
+}
\ No newline at end of file

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ReqRespFault at Buyer.scv
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ReqRespFault at Buyer.scv	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ReqRespFault at Buyer.scv	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,10 @@
+namespace null;
+
+conversation ReqRespFaultProcess_Buyer at Buyer implements LoanBroker at Buyer {
+	checkCredit(CreditCheckRequest) from Buyer to Seller;
+	if {
+		checkCredit(CreditCheckOk) from Seller to Buyer;
+	} else if {
+		checkCredit(CreditCheckInvalid) from Seller to Buyer;
+	}
+}
\ No newline at end of file

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ReqRespFault at Seller.scv
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ReqRespFault at Seller.scv	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/results/ReqRespFault at Seller.scv	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,10 @@
+namespace null;
+
+conversation ReqRespFaultProcess_Seller at Seller implements ReqRespFaultProcess at Seller {
+	checkCredit(CreditCheckRequest) from Buyer to Seller;
+	if {
+		checkCredit(CreditCheckOk) from Seller to Buyer;
+	} else if {
+		checkCredit(CreditCheckInvalid) from Seller to Buyer;
+	}
+}
\ No newline at end of file

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/CompleteTransaction_SupplierTxnProcessor.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/CompleteTransaction_SupplierTxnProcessor.bpel	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/CompleteTransaction_SupplierTxnProcessor.bpel	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,20 @@
+<process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:brk="http://www.pi4soa.org/ESBBroker/Broker" xmlns:byr="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:cay="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:spr="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:tns="http://www.pi4soa.org/ESBBroker" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="overlord.cdl.samples.LoanBroker at SupplierTxnProcessor" name="CompleteTransaction_SupplierTxnProcessor" targetNamespace="http://www.pi4soa.org/ESBBroker/Supplier" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="CompleteTransaction_SupplierTxnProcessor.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Supplier"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="CompleteTransaction_SupplierTxnProcessorArtifacts.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Supplier"/>
+    <partnerLinks>
+        <partnerLink myRole="SupplierTxnProcessorService" name="BrokerToSupplierTxnProcessor" partnerLinkType="spr:BrokerToSupplierTxnProcessorServiceLT"/>
+    </partnerLinks>
+    <variables>
+        <variable messageType="spr:confirmRequest" name="confirmRequestVar"/>
+        <variable messageType="spr:confirmResponse" name="confirmResponseVar"/>
+    </variables>
+    <sequence>
+        <pick createInstance="yes">
+            <onMessage operation="confirm" partnerLink="BrokerToSupplierTxnProcessor" portType="spr:SupplierBehavior" variable="confirmRequestVar">
+                <sequence>
+                    <reply name="Send_bookingReference" operation="confirm" partnerLink="BrokerToSupplierTxnProcessor" portType="spr:SupplierBehavior" variable="confirmResponseVar"/>
+                </sequence>
+            </onMessage>
+        </pick>
+    </sequence>
+</process>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/CompleteTransaction_SupplierTxnProcessor.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/CompleteTransaction_SupplierTxnProcessor.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/CompleteTransaction_SupplierTxnProcessor.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:brk="http://www.pi4soa.org/ESBBroker/Broker" xmlns:byr="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:cay="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:spr="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:tns="http://www.pi4soa.org/ESBBroker" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Supplier" targetNamespace="http://www.pi4soa.org/ESBBroker/Supplier">
+    <types xmlns="http://schemas.xmlsoap.org/wsdl/">
+        <schema xmlns="http://www.w3.org/2001/XMLSchema"/>
+    </types>
+    <wsdl:message name="confirmRequest">
+        <wsdl:part element="orderConfirmed" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="confirmResponse">
+        <wsdl:part element="bookingReference" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getQuoteResponse">
+        <wsdl:part element="quote" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getQuoteRequest">
+        <wsdl:part element="requestForQuote" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:portType name="SupplierBehavior">
+        <wsdl:operation name="confirm">
+            <wsdl:input message="spr:confirmRequest">
+            </wsdl:input>
+            <wsdl:output message="spr:confirmResponse">
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getQuote">
+            <wsdl:input message="spr:getQuoteRequest">
+            </wsdl:input>
+            <wsdl:output message="spr:getQuoteResponse">
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="SupplierBehaviorBinding" type="spr:SupplierBehavior">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="confirm">
+            <soap:operation soapAction="http://www.pi4soa.org/ESBBroker/Supplier/confirm"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getQuote">
+            <soap:operation soapAction="http://www.pi4soa.org/ESBBroker/Supplier/getQuote"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="SupplierService">
+        <wsdl:port binding="spr:SupplierBehaviorBinding" name="SupplierBehaviorPort">
+            <soap:address location="http://localhost:8080/SupplierService/SupplierBehaviorPort"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/CompleteTransaction_SupplierTxnProcessorArtifacts.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/CompleteTransaction_SupplierTxnProcessorArtifacts.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/CompleteTransaction_SupplierTxnProcessorArtifacts.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" targetNamespace="http://www.pi4soa.org/ESBBroker/Supplier">
+    <wsdl:import location="CompleteTransaction_SupplierTxnProcessor.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Supplier"/>
+    <plnk:partnerLinkType name="BrokerToSupplierTxnProcessorServiceLT">
+        <plnk:role name="SupplierTxnProcessorService" portType="ns1:SupplierBehavior"/>
+    </plnk:partnerLinkType>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Broker.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Broker.bpel	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Broker.bpel	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:spr="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:tns="http://www.pi4soa.org/ESBBroker" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cay="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:byr="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:brk="http://www.pi4soa.org/ESBBroker/Broker" name="ESBBrokerProcess_Broker" targetNamespace="http://www.pi4soa.org/ESBBroker/Broker">
+    <import namespace="http://www.pi4soa.org/ESBBroker/Broker" location="ESBBrokerProcess_Broker.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+    <import namespace="http://www.pi4soa.org/ESBBroker/CreditAgency" location="ESBBrokerProcess_CreditAgency.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+    <import namespace="http://www.pi4soa.org/ESBBroker/Supplier" location="ESBBrokerProcess_Supplier.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+    <import namespace="http://www.pi4soa.org/ESBBroker/Broker" location="ESBBrokerProcess_BrokerArtifacts.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
+    <partnerLinks>
+        <partnerLink name="BuyerToBroker" partnerLinkType="brk:BuyerToBrokerServiceLT" myRole="BrokerBehavior"/>
+        <partnerLink name="BrokerToSupplierQuoteEngine" partnerLinkType="brk:BrokerToSupplierQuoteEngineLT" partnerRole="SupplierQuoteEngineRequester"/>
+        <partnerLink name="BrokerToCreditAgency" partnerLinkType="brk:BrokerToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
+        <partnerLink name="BrokerToSupplierTxnProcessor" partnerLinkType="brk:BrokerToSupplierTxnProcessorLT" partnerRole="SupplierTxnProcessorRequester"/>
+    </partnerLinks>
+    <variables>
+        <variable name="makeEnquiryRequestVar" messageType="brk:makeEnquiryRequest"/>
+        <variable name="getQuoteRequestVar" messageType="spr:getQuoteRequest"/>
+        <variable name="getQuoteResponseVar" messageType="spr:getQuoteResponse"/>
+        <variable name="makeEnquiryResponseVar" messageType="brk:makeEnquiryResponse"/>
+        <variable name="checkCreditRequestVar" messageType="cay:checkCreditRequest"/>
+        <variable name="checkCreditResponseVar" messageType="cay:checkCreditResponse"/>
+        <variable name="confirmRequestVar" messageType="spr:confirmRequest"/>
+        <variable name="confirmResponseVar" messageType="spr:confirmResponse"/>
+        <variable name="buyResponseVar" messageType="brk:buyResponse"/>
+        <variable name="rejectedFaultVar" messageType="brk:rejectedFault"/>
+        <variable name="buyRequestVar" messageType="brk:buyRequest"/>
+        <variable name="cancelRequestVar" messageType="brk:cancelRequest"/>
+    </variables>
+    <sequence>
+        <receive partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" operation="makeEnquiry" variable="makeEnquiryRequestVar" createInstance="yes" name="Receive_enquiry"/>
+        <while>
+            <sequence>
+                <scope>
+                    <sequence>
+                        <invoke partnerLink="BrokerToSupplierQuoteEngine" portType="spr:SupplierBehavior" operation="getQuote" inputVariable="getQuoteRequestVar" outputVariable="getQuoteResponseVar" name="Send_requestForQuote"/>
+                    </sequence>
+                </scope>
+            </sequence>
+        </while>
+        <reply partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" operation="makeEnquiry" variable="makeEnquiryResponseVar" name="Send_quoteList"/>
+        <pick>
+            <onMessage partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" operation="buy" variable="buyRequestVar">
+                <sequence>
+                    <scope>
+                        <faultHandlers>
+                            <catch faultName="cay:invalidCredit" faultVariable="invalidCreditFaultVar" faultMessageType="cay:invalidCreditFault">
+<sequence>
+    <reply partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" operation="buy" variable="rejectedFaultVar" faultName="brk:rejected" name="Send_orderRejected"/>
+</sequence>
+                            </catch>
+                        </faultHandlers>
+                        <sequence>
+                            <invoke partnerLink="BrokerToCreditAgency" portType="cay:CreditAgencyBehavior" operation="checkCredit" inputVariable="checkCreditRequestVar" outputVariable="checkCreditResponseVar" name="Send_CreditCheckRequest"/>
+                            <invoke partnerLink="BrokerToSupplierTxnProcessor" portType="spr:SupplierBehavior" operation="confirm" inputVariable="confirmRequestVar" outputVariable="confirmResponseVar" name="Send_orderConfirmed"/>
+                            <reply partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" operation="buy" variable="buyResponseVar" name="Send_bookingReference"/>
+                        </sequence>
+                    </scope>
+                </sequence>
+            </onMessage>
+            <onMessage partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" operation="cancel" variable="cancelRequestVar">
+                <sequence/>
+            </onMessage>
+        </pick>
+    </sequence>
+</process>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Broker.bpelOLD
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Broker.bpelOLD	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Broker.bpelOLD	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,66 @@
+<process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:brk="http://www.pi4soa.org/ESBBroker/Broker" xmlns:byr="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:cay="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:spr="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:tns="http://www.pi4soa.org/ESBBroker" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="overlord.cdl.samples.LoanBroker at Broker" name="ESBBrokerProcess_Broker" targetNamespace="http://www.pi4soa.org/ESBBroker/Broker" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_Broker.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Broker"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_CreditAgency.wsdl" namespace="http://www.pi4soa.org/ESBBroker/CreditAgency"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_Supplier.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Supplier"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_BrokerArtifacts.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Broker"/>
+    <partnerLinks>
+        <partnerLink myRole="BrokerBehavior" name="BuyerToBroker" partnerLinkType="brk:BuyerToBrokerServiceLT"/>
+        <partnerLink name="BrokerToSupplierQuoteEngine" partnerLinkType="brk:BrokerToSupplierQuoteEngineLT" partnerRole="SupplierQuoteEngineRequester"/>
+        <partnerLink name="BrokerToCreditAgency" partnerLinkType="brk:BrokerToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
+        <partnerLink name="BrokerToSupplierTxnProcessor" partnerLinkType="brk:BrokerToSupplierTxnProcessorLT" partnerRole="SupplierTxnProcessorRequester"/>
+    </partnerLinks>
+    <variables>
+        <variable messageType="brk:makeEnquiryRequest" name="makeEnquiryRequestVar"/>
+        <variable messageType="spr:getQuoteRequest" name="getQuoteRequestVar"/>
+        <variable messageType="spr:getQuoteResponse" name="getQuoteResponseVar"/>
+        <variable messageType="brk:makeEnquiryResponse" name="makeEnquiryResponseVar"/>
+        <variable messageType="brk:buyRequest" name="buyRequestVar"/>
+        <variable messageType="cay:checkCreditRequest" name="checkCreditRequestVar"/>
+        <variable messageType="cay:checkCreditResponse" name="checkCreditResponseVar"/>
+        <variable messageType="spr:confirmRequest" name="confirmRequestVar"/>
+        <variable messageType="spr:confirmResponse" name="confirmResponseVar"/>
+        <variable messageType="brk:buyResponse" name="buyResponseVar"/>
+        <variable messageType="brk:rejectedFault" name="rejectedFaultVar"/>
+        <variable messageType="brk:cancelRequest" name="cancelRequestVar"/>
+    </variables>
+    <sequence>
+        <receive createInstance="yes" name="Receive_enquiry" operation="makeEnquiry" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="makeEnquiryRequestVar"/>
+        <while>
+            <sequence>
+                <scope>
+                    <sequence>
+                        <invoke inputVariable="getQuoteRequestVar" name="Send_requestForQuote" operation="getQuote" outputVariable="getQuoteResponseVar" partnerLink="BrokerToSupplierQuoteEngine" portType="spr:SupplierBehavior"/>
+                    </sequence>
+                </scope>
+            </sequence>
+        </while>
+        <reply name="Send_quoteList" operation="makeEnquiry" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="makeEnquiryResponseVar"/>
+        <pick>
+            <onMessage operation="buy" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="buyRequestVar">
+                <sequence>
+                    <scope>
+                        <sequence>
+                            <scope>
+                                <faultHandlers>
+                                    <catch faultMessageType="cay:invalidCreditFault" faultName="cay:invalidCredit" faultVariable="invalidCreditFaultVar">
+                                        <sequence>
+                                            <reply faultName="brk:rejected" name="Send_orderRejected" operation="buy" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="rejectedFaultVar"/>
+                                        </sequence>
+                                    </catch>
+                                </faultHandlers>
+                                <sequence>
+                                    <invoke inputVariable="checkCreditRequestVar" name="Send_CreditCheckRequest" operation="checkCredit" outputVariable="checkCreditResponseVar" partnerLink="BrokerToCreditAgency" portType="cay:CreditAgencyBehavior"/>
+                                    <invoke inputVariable="confirmRequestVar" name="Send_orderConfirmed" operation="confirm" outputVariable="confirmResponseVar" partnerLink="BrokerToSupplierTxnProcessor" portType="spr:SupplierBehavior"/>
+                                    <reply name="Send_bookingReference" operation="buy" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="buyResponseVar"/>
+                                </sequence>
+                            </scope>
+                        </sequence>
+                    </scope>
+                </sequence>
+            </onMessage>
+            <onMessage operation="cancel" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="cancelRequestVar">
+                <sequence/>
+            </onMessage>
+        </pick>
+    </sequence>
+</process>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Broker.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Broker.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Broker.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:brk="http://www.pi4soa.org/ESBBroker/Broker" xmlns:byr="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:cay="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:spr="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:tns="http://www.pi4soa.org/ESBBroker" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Broker" targetNamespace="http://www.pi4soa.org/ESBBroker/Broker">
+    <types xmlns="http://schemas.xmlsoap.org/wsdl/">
+        <schema xmlns="http://www.w3.org/2001/XMLSchema"/>
+    </types>
+    <wsdl:message name="rejectedFault">
+        <wsdl:part element="orderRejected" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="makeEnquiryRequest">
+        <wsdl:part element="enquiry" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="buyResponse">
+        <wsdl:part element="bookingReference" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="makeEnquiryResponse">
+        <wsdl:part element="quoteList" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="buyRequest">
+        <wsdl:part element="buy" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="cancelRequest">
+        <wsdl:part element="cancel" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:portType name="BrokerBehavior">
+        <wsdl:operation name="buy">
+            <wsdl:input message="brk:buyRequest">
+            </wsdl:input>
+            <wsdl:output message="brk:buyResponse">
+            </wsdl:output>
+            <wsdl:fault message="brk:rejectedFault" name="rejected">
+            </wsdl:fault>
+        </wsdl:operation>
+        <wsdl:operation name="makeEnquiry">
+            <wsdl:input message="brk:makeEnquiryRequest">
+            </wsdl:input>
+            <wsdl:output message="brk:makeEnquiryResponse">
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="cancel">
+            <wsdl:input message="brk:cancelRequest">
+            </wsdl:input>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="BrokerBehaviorBinding" type="brk:BrokerBehavior">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="buy">
+            <soap:operation soapAction="http://www.pi4soa.org/ESBBroker/Broker/buy"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="rejected">
+                <soap:fault name="rejected" use="literal"/>
+            </wsdl:fault>
+        </wsdl:operation>
+        <wsdl:operation name="makeEnquiry">
+            <soap:operation soapAction="http://www.pi4soa.org/ESBBroker/Broker/makeEnquiry"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="cancel">
+            <soap:operation soapAction="http://www.pi4soa.org/ESBBroker/Broker/cancel"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="BrokerService">
+        <wsdl:port binding="brk:BrokerBehaviorBinding" name="BrokerBehaviorPort">
+            <soap:address location="http://localhost:8080/BrokerService/BrokerBehaviorPort"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_BrokerArtifacts.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_BrokerArtifacts.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_BrokerArtifacts.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://www.pi4soa.org/ESBBroker/Broker" xmlns:ns2="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:ns3="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" targetNamespace="http://www.pi4soa.org/ESBBroker/Broker">
+    <wsdl:import location="ESBBrokerProcess_Broker.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Broker"/>
+    <wsdl:import location="ESBBrokerProcess_CreditAgency.wsdl" namespace="http://www.pi4soa.org/ESBBroker/CreditAgency"/>
+    <wsdl:import location="ESBBrokerProcess_Supplier.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Supplier"/>
+    <plnk:partnerLinkType name="BuyerToBrokerServiceLT">
+        <plnk:role name="BrokerBehavior" portType="ns1:BrokerBehavior"/>
+    </plnk:partnerLinkType>
+    <plnk:partnerLinkType name="BrokerToSupplierQuoteEngineLT">
+        <plnk:role name="SupplierQuoteEngineRequester" portType="ns2:SupplierBehavior"/>
+    </plnk:partnerLinkType>
+    <plnk:partnerLinkType name="BrokerToCreditAgencyLT">
+        <plnk:role name="CreditAgencyRequester" portType="ns3:CreditAgencyBehavior"/>
+    </plnk:partnerLinkType>
+    <plnk:partnerLinkType name="BrokerToSupplierTxnProcessorLT">
+        <plnk:role name="SupplierTxnProcessorRequester" portType="ns2:SupplierBehavior"/>
+    </plnk:partnerLinkType>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Buyer.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Buyer.bpel	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Buyer.bpel	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,43 @@
+<process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:brk="http://www.pi4soa.org/ESBBroker/Broker" xmlns:byr="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:cay="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:spr="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:tns="http://www.pi4soa.org/ESBBroker" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="overlord.cdl.samples.LoanBroker at Buyer" name="ESBBrokerProcess_Buyer" targetNamespace="http://www.pi4soa.org/ESBBroker/Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_Broker.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Broker"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_CreditAgency.wsdl" namespace="http://www.pi4soa.org/ESBBroker/CreditAgency"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_Supplier.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Supplier"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_BuyerArtifacts.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Buyer"/>
+    <partnerLinks>
+        <partnerLink myRole="BrokerBehavior" name="BuyerToBroker" partnerLinkType="byr:BuyerToBrokerLT" partnerRole="BrokerRequester"/>
+    </partnerLinks>
+    <variables>
+        <variable messageType="brk:makeEnquiryRequest" name="makeEnquiryRequestVar"/>
+        <variable messageType="brk:makeEnquiryResponse" name="makeEnquiryResponseVar"/>
+        <variable messageType="brk:buyRequest" name="buyRequestVar"/>
+        <variable messageType="brk:buyResponse" name="buyResponseVar"/>
+        <variable messageType="brk:cancelRequest" name="cancelRequestVar"/>
+    </variables>
+    <sequence>
+        <invoke inputVariable="makeEnquiryRequestVar" name="Send_enquiry" operation="makeEnquiry" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior"/>
+        <receive name="Receive_quoteList" operation="makeEnquiry" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior" variable="makeEnquiryResponseVar"/>
+        <if>
+            <sequence>
+                <scope>
+                    <sequence>
+                        <scope>
+                            <faultHandlers>
+                                <catch faultMessageType="brk:rejectedFault" faultName="brk:rejected" faultVariable="rejectedFaultVar">
+                                    <sequence/>
+                                </catch>
+                            </faultHandlers>
+                            <sequence>
+                                <invoke inputVariable="buyRequestVar" name="Send_buy" operation="buy" outputVariable="buyResponseVar" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior"/>
+                            </sequence>
+                        </scope>
+                    </sequence>
+                </scope>
+            </sequence>
+            <else>
+                <sequence>
+                    <invoke inputVariable="cancelRequestVar" name="Send_cancel" operation="cancel" partnerLink="BuyerToBroker" portType="brk:BrokerBehavior"/>
+                </sequence>
+            </else>
+        </if>
+    </sequence>
+</process>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_BuyerArtifacts.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_BuyerArtifacts.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_BuyerArtifacts.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://www.pi4soa.org/ESBBroker/Broker" xmlns:ns2="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" targetNamespace="http://www.pi4soa.org/ESBBroker/Buyer">
+    <wsdl:import location="ESBBrokerProcess_Buyer.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Buyer"/>
+    <wsdl:import location="ESBBrokerProcess_Broker.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Broker"/>
+    <wsdl:import location="ESBBrokerProcess_CreditAgency.wsdl" namespace="http://www.pi4soa.org/ESBBroker/CreditAgency"/>
+    <wsdl:import location="ESBBrokerProcess_Supplier.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Supplier"/>
+    <plnk:partnerLinkType name="BuyerToBrokerLT">
+        <plnk:role name="BrokerRequester" portType="ns1:BrokerBehavior"/>
+        <plnk:role name="BrokerBehavior" portType="ns2:BuyerBehavior"/>
+    </plnk:partnerLinkType>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_CreditAgency.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_CreditAgency.bpel	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_CreditAgency.bpel	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,36 @@
+<process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:brk="http://www.pi4soa.org/ESBBroker/Broker" xmlns:byr="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:cay="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:spr="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:tns="http://www.pi4soa.org/ESBBroker" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="overlord.cdl.samples.Common at CreditAgency" name="ESBBrokerProcess_CreditAgency" targetNamespace="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_CreditAgency.wsdl" namespace="http://www.pi4soa.org/ESBBroker/CreditAgency"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_Broker.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Broker"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_Supplier.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Supplier"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ESBBrokerProcess_CreditAgencyArtifacts.wsdl" namespace="http://www.pi4soa.org/ESBBroker/CreditAgency"/>
+    <partnerLinks>
+        <partnerLink myRole="CreditAgencyService" name="BrokerToCreditAgency" partnerLinkType="cay:BrokerToCreditAgencyServiceLT"/>
+    </partnerLinks>
+    <variables>
+        <variable messageType="cay:checkCreditRequest" name="checkCreditRequestVar"/>
+        <variable messageType="cay:checkCreditResponse" name="checkCreditResponseVar"/>
+        <variable messageType="cay:invalidCreditFault" name="invalidCreditFaultVar"/>
+    </variables>
+    <sequence>
+        <pick>
+            <onMessage operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="cay:CreditAgencyBehavior" variable="checkCreditRequestVar">
+                <sequence>
+                    <scope>
+                        <sequence>
+                            <if>
+                                <sequence>
+                                    <reply name="Send_CreditCheckOk" operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="cay:CreditAgencyBehavior" variable="checkCreditResponseVar"/>
+                                </sequence>
+                                <else>
+                                    <sequence>
+                                        <reply faultName="cay:invalidCredit" name="Send_CreditCheckInvalid" operation="checkCredit" partnerLink="BrokerToCreditAgency" portType="cay:CreditAgencyBehavior" variable="invalidCreditFaultVar"/>
+                                    </sequence>
+                                </else>
+                            </if>
+                        </sequence>
+                    </scope>
+                </sequence>
+            </onMessage>
+        </pick>
+    </sequence>
+</process>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_CreditAgency.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_CreditAgency.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_CreditAgency.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:brk="http://www.pi4soa.org/ESBBroker/Broker" xmlns:byr="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:cay="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:spr="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:tns="http://www.pi4soa.org/ESBBroker" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CreditAgency" targetNamespace="http://www.pi4soa.org/ESBBroker/CreditAgency">
+    <types xmlns="http://schemas.xmlsoap.org/wsdl/">
+        <schema xmlns="http://www.w3.org/2001/XMLSchema"/>
+    </types>
+    <wsdl:message name="checkCreditResponse">
+        <wsdl:part element="CreditCheckOk" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="checkCreditRequest">
+        <wsdl:part element="CreditCheckRequest" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="invalidCreditFault">
+        <wsdl:part element="CreditCheckInvalid" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:portType name="CreditAgencyBehavior">
+        <wsdl:operation name="checkCredit">
+            <wsdl:input message="cay:checkCreditRequest">
+            </wsdl:input>
+            <wsdl:output message="cay:checkCreditResponse">
+            </wsdl:output>
+            <wsdl:fault message="cay:invalidCreditFault" name="invalidCredit">
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="CreditAgencyBehaviorBinding" type="cay:CreditAgencyBehavior">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="checkCredit">
+            <soap:operation soapAction="http://www.pi4soa.org/ESBBroker/CreditAgency/checkCredit"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="invalidCredit">
+                <soap:fault name="invalidCredit" use="literal"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="CreditAgencyService">
+        <wsdl:port binding="cay:CreditAgencyBehaviorBinding" name="CreditAgencyBehaviorPort">
+            <soap:address location="http://localhost:8080/CreditAgencyService/CreditAgencyBehaviorPort"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_CreditAgencyArtifacts.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_CreditAgencyArtifacts.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_CreditAgencyArtifacts.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" targetNamespace="http://www.pi4soa.org/ESBBroker/CreditAgency">
+    <wsdl:import location="ESBBrokerProcess_CreditAgency.wsdl" namespace="http://www.pi4soa.org/ESBBroker/CreditAgency"/>
+    <wsdl:import location="ESBBrokerProcess_Broker.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Broker"/>
+    <wsdl:import location="ESBBrokerProcess_Supplier.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Supplier"/>
+    <plnk:partnerLinkType name="BrokerToCreditAgencyServiceLT">
+        <plnk:role name="CreditAgencyService" portType="ns1:CreditAgencyBehavior"/>
+    </plnk:partnerLinkType>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Supplier.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Supplier.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ESBBrokerProcess_Supplier.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:brk="http://www.pi4soa.org/ESBBroker/Broker" xmlns:byr="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:cay="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:spr="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:tns="http://www.pi4soa.org/ESBBroker" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Supplier" targetNamespace="http://www.pi4soa.org/ESBBroker/Supplier">
+    <types xmlns="http://schemas.xmlsoap.org/wsdl/">
+        <schema xmlns="http://www.w3.org/2001/XMLSchema"/>
+    </types>
+    <wsdl:message name="confirmRequest">
+        <wsdl:part element="orderConfirmed" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="confirmResponse">
+        <wsdl:part element="bookingReference" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getQuoteResponse">
+        <wsdl:part element="quote" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getQuoteRequest">
+        <wsdl:part element="requestForQuote" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:portType name="SupplierBehavior">
+        <wsdl:operation name="confirm">
+            <wsdl:input message="spr:confirmRequest">
+            </wsdl:input>
+            <wsdl:output message="spr:confirmResponse">
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getQuote">
+            <wsdl:input message="spr:getQuoteRequest">
+            </wsdl:input>
+            <wsdl:output message="spr:getQuoteResponse">
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="SupplierBehaviorBinding" type="spr:SupplierBehavior">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="confirm">
+            <soap:operation soapAction="http://www.pi4soa.org/ESBBroker/Supplier/confirm"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getQuote">
+            <soap:operation soapAction="http://www.pi4soa.org/ESBBroker/Supplier/getQuote"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="SupplierService">
+        <wsdl:port binding="spr:SupplierBehaviorBinding" name="SupplierBehaviorPort">
+            <soap:address location="http://localhost:8080/SupplierService/SupplierBehaviorPort"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/LoanApprovalService at Service.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/LoanApprovalService at Service.bpel	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/LoanApprovalService at Service.bpel	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,123 @@
+<process name="loanApprovalProcess"
+    targetNamespace="http://example.com/loan-approval/"
+    xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+    xmlns:lns="http://example.com/loan-approval/wsdl/"
+    suppressJoinFailure="yes">
+    <import importType="http://schemas.xmlsoap.org/wsdl/"
+          location="loanServicePT.wsdl"
+          namespace="http://example.com/loan-approval/wsdl/" />
+    <partnerLinks>
+          <partnerLink name="customer"
+              partnerLinkType="lns:loanPartnerLT"
+              myRole="loanService" />
+          <partnerLink name="approver"
+              partnerLinkType="lns:loanApprovalLT"
+              partnerRole="approver" />
+          <partnerLink name="assessor"
+              partnerLinkType="lns:riskAssessmentLT"
+              partnerRole="assessor" />
+    </partnerLinks>
+    <variables>
+          <variable name="request"
+              messageType="lns:creditInformationMessage" />
+          <variable name="risk"
+              messageType="lns:riskAssessmentMessage" />
+          <variable name="approval"
+              messageType="lns:approvalMessage" />
+    </variables>
+    <faultHandlers>
+          <catch faultName="lns:loanProcessFault"
+              faultVariable="error"
+              faultMessageType="lns:errorMessage">
+              <reply partnerLink="customer"
+                 portType="lns:loanServicePT"
+                 operation="request" variable="error"
+                 faultName="unableToHandleRequest" />
+          </catch>
+    </faultHandlers>
+    <flow>
+          <links>
+              <link   name="receive-to-assess" />
+              <link   name="receive-to-approval" />
+              <link   name="approval-to-reply" />
+              <link   name="assess-to-setMessage" />
+              <link   name="setMessage-to-reply" />
+              <link   name="assess-to-approval" />
+          </links>
+          <receive partnerLink="customer"
+              portType="lns:loanServicePT"
+              operation="request"
+              variable="request"
+              createInstance="yes">
+              <sources>
+                 <source linkName="receive-to-assess">
+                      <transitionCondition>
+                          $request.amount &lt; 10000
+                      </transitionCondition>
+                 </source>
+                 <source linkName="receive-to-approval">
+                      <transitionCondition>
+                          $request.amount >= 10000
+                      </transitionCondition>
+                 </source>
+              </sources>
+          </receive>
+          <invoke partnerLink="assessor"
+              portType="lns:riskAssessmentPT"
+              operation="check"
+              inputVariable="request"
+              outputVariable="risk">
+              <targets>
+                 <target linkName="receive-to-assess" />
+              </targets>
+              <sources>
+                 <source linkName="assess-to-setMessage">
+                      <transitionCondition>
+                          $risk.level='low'
+                      </transitionCondition>
+                 </source>
+                 <source linkName="assess-to-approval">
+                      <transitionCondition>
+                          $risk.level!='low'
+                      </transitionCondition>
+                 </source>
+              </sources>
+          </invoke>
+          <assign>
+              <targets>
+                 <target linkName="assess-to-setMessage" />
+              </targets>
+              <sources>
+                 <source linkName="setMessage-to-reply" />
+	         </sources>
+         <copy>
+            <from>
+               <literal>yes</literal>
+            </from>
+            <to variable="approval" part="accept" />
+         </copy>
+      </assign>
+      <invoke partnerLink="approver"
+         portType="lns:loanApprovalPT"
+         operation="approve"
+         inputVariable="request"
+         outputVariable="approval">
+         <targets>
+            <target linkName="receive-to-approval" />
+            <target linkName="assess-to-approval" />
+         </targets>
+         <sources>
+            <source linkName="approval-to-reply" />
+         </sources>
+      </invoke>
+      <reply partnerLink="customer"
+         portType="lns:loanServicePT"
+         operation="request"
+         variable="approval">
+         <targets>
+            <target linkName="setMessage-to-reply" />
+            <target linkName="approval-to-reply" />
+         </targets>
+      </reply>
+   </flow>
+</process>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_Buyer.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_Buyer.bpel	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_Buyer.bpel	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,24 @@
+<process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:pur="java:org.jboss.savara.examples.purchasing" xmlns:sto="http://www.jboss.org/examples/store" xmlns:tns="http://www.jboss.org/savara/examples" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="savara.samples.Purchasing at Buyer" name="PurchaseGoodsProcess_Buyer" targetNamespace="http://www.jboss.org/savara/examples" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="PurchaseGoodsProcess_CreditAgency.wsdl" namespace="java:org.jboss.savara.examples.purchasing"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="PurchaseGoodsProcess_Store.wsdl" namespace="http://www.jboss.org/examples/store"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="PurchaseGoodsProcess_BuyerArtifacts.wsdl" namespace="http://www.jboss.org/savara/examples"/>
+    <partnerLinks>
+        <partnerLink name="BuyerToStore" partnerLinkType="tns:BuyerToStoreLT" partnerRole="StoreRequester"/>
+    </partnerLinks>
+    <variables>
+        <variable messageType="sto:buyRequest" name="buyRequestVar"/>
+        <variable messageType="sto:buyResponse" name="buyResponseVar"/>
+    </variables>
+    <sequence>
+        <scope>
+            <faultHandlers>
+                <catch faultMessageType="sto:BuyFailedFault" faultName="sto:BuyFailed" faultVariable="BuyFailedFaultVar">
+                    <sequence/>
+                </catch>
+            </faultHandlers>
+            <sequence>
+                <invoke inputVariable="buyRequestVar" name="Send_BuyRequest" operation="buy" outputVariable="buyResponseVar" partnerLink="BuyerToStore" portType="sto:StoreInterface"/>
+            </sequence>
+        </scope>
+    </sequence>
+</process>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_BuyerArtifacts.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_BuyerArtifacts.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_BuyerArtifacts.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://www.jboss.org/examples/store" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" targetNamespace="http://www.jboss.org/savara/examples">
+    <wsdl:import location="PurchaseGoodsProcess_Buyer.wsdl" namespace="http://www.jboss.org/savara/examples"/>
+    <wsdl:import location="PurchaseGoodsProcess_CreditAgency.wsdl" namespace="java:org.jboss.savara.examples.purchasing"/>
+    <wsdl:import location="PurchaseGoodsProcess_Store.wsdl" namespace="http://www.jboss.org/examples/store"/>
+    <plnk:partnerLinkType name="BuyerToStoreLT">
+        <plnk:role name="StoreRequester" portType="ns1:StoreInterface"/>
+    </plnk:partnerLinkType>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_CreditAgency.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_CreditAgency.bpel	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_CreditAgency.bpel	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,26 @@
+<process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:pur="java:org.jboss.savara.examples.purchasing" xmlns:sto="http://www.jboss.org/examples/store" xmlns:tns="http://www.jboss.org/savara/examples" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="savara.samples.Common at CreditAgency" name="PurchaseGoodsProcess_CreditAgency" targetNamespace="java:org.jboss.savara.examples.purchasing" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="PurchaseGoodsProcess_CreditAgency.wsdl" namespace="java:org.jboss.savara.examples.purchasing"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="PurchaseGoodsProcess_Store.wsdl" namespace="http://www.jboss.org/examples/store"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="PurchaseGoodsProcess_CreditAgencyArtifacts.wsdl" namespace="java:org.jboss.savara.examples.purchasing"/>
+    <partnerLinks>
+        <partnerLink myRole="CreditAgencyInterface" name="StoreToCreditAgency" partnerLinkType="pur:StoreToCreditAgencyServiceLT"/>
+    </partnerLinks>
+    <variables>
+        <variable messageType="pur:checkCreditRequest" name="checkCreditRequestVar"/>
+        <variable messageType="pur:checkCreditResponse" name="checkCreditResponseVar"/>
+        <variable messageType="pur:CreditCheckFailedFault" name="CreditCheckFailedFaultVar"/>
+    </variables>
+    <sequence>
+        <receive createInstance="yes" name="Receive_CreditCheckRequest" operation="checkCredit" partnerLink="StoreToCreditAgency" portType="pur:CreditAgencyInterface" variable="checkCreditRequestVar"/>
+        <if>
+            <sequence>
+                <reply name="Send_CreditCheckOk" operation="checkCredit" partnerLink="StoreToCreditAgency" portType="pur:CreditAgencyInterface" variable="checkCreditResponseVar"/>
+            </sequence>
+            <else>
+                <sequence>
+                    <reply faultName="pur:CreditCheckFailed" name="Send_CreditCheckInvalid" operation="checkCredit" partnerLink="StoreToCreditAgency" portType="pur:CreditAgencyInterface" variable="CreditCheckFailedFaultVar"/>
+                </sequence>
+            </else>
+        </if>
+    </sequence>
+</process>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_CreditAgency.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_CreditAgency.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_CreditAgency.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:pur="java:org.jboss.savara.examples.purchasing" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:sto="http://www.jboss.org/examples/store" xmlns:tns="http://www.jboss.org/savara/examples" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CreditAgency" targetNamespace="java:org.jboss.savara.examples.purchasing">
+    <types xmlns="http://schemas.xmlsoap.org/wsdl/">
+        <schema xmlns="http://www.w3.org/2001/XMLSchema"/>
+    </types>
+    <wsdl:message name="checkCreditRequest">
+        <wsdl:part name="content" type="pur:CreditCheckRequest">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="CreditCheckFailedFault">
+        <wsdl:part name="content" type="pur:CreditCheckInvalid">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="checkCreditResponse">
+        <wsdl:part name="content" type="pur:CreditCheckOk">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:portType name="CreditAgencyInterface">
+        <wsdl:operation name="checkCredit">
+            <wsdl:input message="pur:checkCreditRequest">
+            </wsdl:input>
+            <wsdl:output message="pur:checkCreditResponse">
+            </wsdl:output>
+            <wsdl:fault message="pur:CreditCheckFailedFault" name="CreditCheckFailed">
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="CreditAgencyInterfaceBinding" type="pur:CreditAgencyInterface">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="checkCredit">
+            <soap:operation soapAction="java:org.jboss.savara.examples.purchasing/checkCredit"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="CreditCheckFailed">
+                <soap:fault name="CreditCheckFailed" use="literal"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="CreditAgencyService">
+        <wsdl:port binding="pur:CreditAgencyInterfaceBinding" name="CreditAgencyInterfacePort">
+            <soap:address location="http://localhost:8080/CreditAgencyService/CreditAgencyInterfacePort"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_CreditAgencyArtifacts.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_CreditAgencyArtifacts.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_CreditAgencyArtifacts.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="java:org.jboss.savara.examples.purchasing" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" targetNamespace="java:org.jboss.savara.examples.purchasing">
+    <wsdl:import location="PurchaseGoodsProcess_CreditAgency.wsdl" namespace="java:org.jboss.savara.examples.purchasing"/>
+    <wsdl:import location="PurchaseGoodsProcess_Store.wsdl" namespace="http://www.jboss.org/examples/store"/>
+    <plnk:partnerLinkType name="StoreToCreditAgencyServiceLT">
+        <plnk:role name="CreditAgencyInterface" portType="ns1:CreditAgencyInterface"/>
+    </plnk:partnerLinkType>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_Store.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_Store.bpel	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_Store.bpel	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,32 @@
+<process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:pur="java:org.jboss.savara.examples.purchasing" xmlns:sto="http://www.jboss.org/examples/store" xmlns:tns="http://www.jboss.org/savara/examples" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="savara.samples.Purchasing at Store" name="PurchaseGoodsProcess_Store" targetNamespace="http://www.jboss.org/examples/store" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="PurchaseGoodsProcess_Store.wsdl" namespace="http://www.jboss.org/examples/store"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="PurchaseGoodsProcess_CreditAgency.wsdl" namespace="java:org.jboss.savara.examples.purchasing"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="PurchaseGoodsProcess_StoreArtifacts.wsdl" namespace="http://www.jboss.org/examples/store"/>
+    <partnerLinks>
+        <partnerLink myRole="StoreInterface" name="BuyerToStore" partnerLinkType="sto:BuyerToStoreServiceLT"/>
+        <partnerLink name="StoreToCreditAgency" partnerLinkType="sto:StoreToCreditAgencyLT" partnerRole="CreditAgencyRequester"/>
+    </partnerLinks>
+    <variables>
+        <variable messageType="sto:buyRequest" name="buyRequestVar"/>
+        <variable messageType="pur:checkCreditRequest" name="checkCreditRequestVar"/>
+        <variable messageType="pur:checkCreditResponse" name="checkCreditResponseVar"/>
+        <variable messageType="sto:buyResponse" name="buyResponseVar"/>
+        <variable messageType="sto:BuyFailedFault" name="BuyFailedFaultVar"/>
+    </variables>
+    <sequence>
+        <receive createInstance="yes" name="Receive_BuyRequest" operation="buy" partnerLink="BuyerToStore" portType="sto:StoreInterface" variable="buyRequestVar"/>
+        <scope>
+            <faultHandlers>
+                <catch faultMessageType="pur:CreditCheckFailedFault" faultName="pur:CreditCheckFailed" faultVariable="CreditCheckFailedFaultVar">
+                    <sequence>
+                        <reply faultName="sto:BuyFailed" name="Send_BuyFailed" operation="buy" partnerLink="BuyerToStore" portType="sto:StoreInterface" variable="BuyFailedFaultVar"/>
+                    </sequence>
+                </catch>
+            </faultHandlers>
+            <sequence>
+                <invoke inputVariable="checkCreditRequestVar" name="Send_CreditCheckRequest" operation="checkCredit" outputVariable="checkCreditResponseVar" partnerLink="StoreToCreditAgency" portType="pur:CreditAgencyInterface"/>
+                <reply name="Send_BuyConfirmed" operation="buy" partnerLink="BuyerToStore" portType="sto:StoreInterface" variable="buyResponseVar"/>
+            </sequence>
+        </scope>
+    </sequence>
+</process>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_Store.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_Store.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_Store.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:pur="java:org.jboss.savara.examples.purchasing" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:sto="http://www.jboss.org/examples/store" xmlns:tns="http://www.jboss.org/savara/examples" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Store" targetNamespace="http://www.jboss.org/examples/store">
+    <types xmlns="http://schemas.xmlsoap.org/wsdl/">
+        <schema xmlns="http://www.w3.org/2001/XMLSchema"/>
+    </types>
+    <wsdl:message name="BuyFailedFault">
+        <wsdl:part name="content" type="sto:BuyFailed">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="buyRequest">
+        <wsdl:part name="content" type="sto:BuyRequest">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="buyResponse">
+        <wsdl:part name="content" type="sto:BuyConfirmed">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:portType name="StoreInterface">
+        <wsdl:operation name="buy">
+            <wsdl:input message="sto:buyRequest">
+            </wsdl:input>
+            <wsdl:output message="sto:buyResponse">
+            </wsdl:output>
+            <wsdl:fault message="sto:BuyFailedFault" name="BuyFailed">
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="StoreInterfaceBinding" type="sto:StoreInterface">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="buy">
+            <soap:operation soapAction="http://www.jboss.org/examples/store/buy"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="BuyFailed">
+                <soap:fault name="BuyFailed" use="literal"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="StoreService">
+        <wsdl:port binding="sto:StoreInterfaceBinding" name="StoreInterfacePort">
+            <soap:address location="http://localhost:8080/StoreService/StoreInterfacePort"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_StoreArtifacts.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_StoreArtifacts.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/PurchaseGoodsProcess_StoreArtifacts.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://www.jboss.org/examples/store" xmlns:ns2="java:org.jboss.savara.examples.purchasing" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" targetNamespace="http://www.jboss.org/examples/store">
+    <wsdl:import location="PurchaseGoodsProcess_Store.wsdl" namespace="http://www.jboss.org/examples/store"/>
+    <wsdl:import location="PurchaseGoodsProcess_CreditAgency.wsdl" namespace="java:org.jboss.savara.examples.purchasing"/>
+    <plnk:partnerLinkType name="BuyerToStoreServiceLT">
+        <plnk:role name="StoreInterface" portType="ns1:StoreInterface"/>
+    </plnk:partnerLinkType>
+    <plnk:partnerLinkType name="StoreToCreditAgencyLT">
+        <plnk:role name="CreditAgencyRequester" portType="ns2:CreditAgencyInterface"/>
+    </plnk:partnerLinkType>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_Buyer.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_Buyer.bpel	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_Buyer.bpel	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,23 @@
+<process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:byr="http://www.pi4soa.org/ReqRespFault/Buyer" xmlns:slr="http://www.pi4soa.org/ReqRespFault/Seller" xmlns:tns="http://www.pi4soa.org/ReqRespFault" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="overlord.cdl.samples.LoanBroker at Buyer" name="ReqRespFaultProcess_Buyer" targetNamespace="http://www.pi4soa.org/ReqRespFault/Buyer" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ReqRespFaultProcess_Seller.wsdl" namespace="http://www.pi4soa.org/ReqRespFault/Seller"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ReqRespFaultProcess_BuyerArtifacts.wsdl" namespace="http://www.pi4soa.org/ReqRespFault/Buyer"/>
+    <partnerLinks>
+        <partnerLink name="BuyerToSeller" partnerLinkType="byr:BuyerToSellerLT" partnerRole="SellerRequester"/>
+    </partnerLinks>
+    <variables>
+        <variable messageType="slr:checkCreditRequest" name="checkCreditRequestVar"/>
+        <variable messageType="slr:checkCreditResponse" name="checkCreditResponseVar"/>
+    </variables>
+    <sequence>
+        <scope>
+            <faultHandlers>
+                <catch faultMessageType="slr:insufficientCreditFault" faultName="slr:insufficientCredit" faultVariable="insufficientCreditFaultVar">
+                    <sequence/>
+                </catch>
+            </faultHandlers>
+            <sequence>
+                <invoke inputVariable="checkCreditRequestVar" name="Send_CreditCheckRequest" operation="checkCredit" outputVariable="checkCreditResponseVar" partnerLink="BuyerToSeller" portType="slr:SellerBehavior"/>
+            </sequence>
+        </scope>
+    </sequence>
+</process>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_BuyerArtifacts.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_BuyerArtifacts.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_BuyerArtifacts.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://www.pi4soa.org/ReqRespFault/Seller" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" targetNamespace="http://www.pi4soa.org/ReqRespFault/Buyer">
+    <wsdl:import location="ReqRespFaultProcess_Buyer.wsdl" namespace="http://www.pi4soa.org/ReqRespFault/Buyer"/>
+    <wsdl:import location="ReqRespFaultProcess_Seller.wsdl" namespace="http://www.pi4soa.org/ReqRespFault/Seller"/>
+    <plnk:partnerLinkType name="BuyerToSellerLT">
+        <plnk:role name="SellerRequester" portType="ns1:SellerBehavior"/>
+    </plnk:partnerLinkType>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_Seller.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_Seller.bpel	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_Seller.bpel	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,25 @@
+<process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:byr="http://www.pi4soa.org/ReqRespFault/Buyer" xmlns:slr="http://www.pi4soa.org/ReqRespFault/Seller" xmlns:tns="http://www.pi4soa.org/ReqRespFault" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="org.pi4soa.reqrespfault.reqrespfault.ReqRespFaultProcess at Seller" name="ReqRespFaultProcess_Seller" targetNamespace="http://www.pi4soa.org/ReqRespFault/Seller" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ReqRespFaultProcess_Seller.wsdl" namespace="http://www.pi4soa.org/ReqRespFault/Seller"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="ReqRespFaultProcess_SellerArtifacts.wsdl" namespace="http://www.pi4soa.org/ReqRespFault/Seller"/>
+    <partnerLinks>
+        <partnerLink myRole="SellerBehavior" name="BuyerToSeller" partnerLinkType="slr:BuyerToSellerServiceLT"/>
+    </partnerLinks>
+    <variables>
+        <variable messageType="slr:checkCreditRequest" name="checkCreditRequestVar"/>
+        <variable messageType="slr:checkCreditResponse" name="checkCreditResponseVar"/>
+        <variable messageType="slr:insufficientCreditFault" name="insufficientCreditFaultVar"/>
+    </variables>
+    <sequence>
+        <receive createInstance="yes" name="Receive_CreditCheckRequest" operation="checkCredit" partnerLink="BuyerToSeller" portType="slr:SellerBehavior" variable="checkCreditRequestVar"/>
+        <if>
+            <sequence>
+                <reply name="Send_CreditCheckOk" operation="checkCredit" partnerLink="BuyerToSeller" portType="slr:SellerBehavior" variable="checkCreditResponseVar"/>
+            </sequence>
+            <else>
+                <sequence>
+                    <reply faultName="slr:insufficientCredit" name="Send_CreditCheckInvalid" operation="checkCredit" partnerLink="BuyerToSeller" portType="slr:SellerBehavior" variable="insufficientCreditFaultVar"/>
+                </sequence>
+            </else>
+        </if>
+    </sequence>
+</process>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_Seller.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_Seller.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_Seller.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:byr="http://www.pi4soa.org/ReqRespFault/Buyer" xmlns:slr="http://www.pi4soa.org/ReqRespFault/Seller" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.pi4soa.org/ReqRespFault" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Seller" targetNamespace="http://www.pi4soa.org/ReqRespFault/Seller">
+    <types xmlns="http://schemas.xmlsoap.org/wsdl/">
+        <schema xmlns="http://www.w3.org/2001/XMLSchema"/>
+    </types>
+    <wsdl:message name="checkCreditRequest">
+        <wsdl:part element="CreditCheckRequest" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="checkCreditResponse">
+        <wsdl:part element="CreditCheckOk" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="insufficientCreditFault">
+        <wsdl:part element="CreditCheckInvalid" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:portType name="SellerBehavior">
+        <wsdl:operation name="checkCredit">
+            <wsdl:input message="slr:checkCreditRequest">
+            </wsdl:input>
+            <wsdl:output message="slr:checkCreditResponse">
+            </wsdl:output>
+            <wsdl:fault message="slr:insufficientCreditFault" name="insufficientCredit">
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="SellerBehaviorBinding" type="slr:SellerBehavior">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="checkCredit">
+            <soap:operation soapAction="http://www.pi4soa.org/ReqRespFault/Seller/checkCredit"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="insufficientCredit">
+                <soap:fault name="insufficientCredit" use="literal"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="SellerService">
+        <wsdl:port binding="slr:SellerBehaviorBinding" name="SellerBehaviorPort">
+            <soap:address location="http://localhost:8080/SellerService/SellerBehaviorPort"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_SellerArtifacts.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_SellerArtifacts.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/ReqRespFaultProcess_SellerArtifacts.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://www.pi4soa.org/ReqRespFault/Seller" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" targetNamespace="http://www.pi4soa.org/ReqRespFault/Seller">
+    <wsdl:import location="ReqRespFaultProcess_Seller.wsdl" namespace="http://www.pi4soa.org/ReqRespFault/Seller"/>
+    <plnk:partnerLinkType name="BuyerToSellerServiceLT">
+        <plnk:role name="SellerBehavior" portType="ns1:SellerBehavior"/>
+    </plnk:partnerLinkType>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/RequestForQuote_SupplierQuoteEngine.bpel
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/RequestForQuote_SupplierQuoteEngine.bpel	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/RequestForQuote_SupplierQuoteEngine.bpel	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,15 @@
+<process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:brk="http://www.pi4soa.org/ESBBroker/Broker" xmlns:byr="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:cay="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:spr="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:tns="http://www.pi4soa.org/ESBBroker" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns0="http://www.scribble.org/conversation" ns0:conversationType="overlord.cdl.samples.LoanBroker at SupplierQuoteEngine" name="RequestForQuote_SupplierQuoteEngine" targetNamespace="http://www.pi4soa.org/ESBBroker/Supplier" xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="RequestForQuote_SupplierQuoteEngine.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Supplier"/>
+    <import importType="http://schemas.xmlsoap.org/wsdl/" location="RequestForQuote_SupplierQuoteEngineArtifacts.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Supplier"/>
+    <partnerLinks>
+        <partnerLink myRole="SupplierBehavior" name="BrokerToSupplierQuoteEngine" partnerLinkType="spr:BrokerToSupplierQuoteEngineServiceLT"/>
+    </partnerLinks>
+    <variables>
+        <variable messageType="spr:getQuoteRequest" name="getQuoteRequestVar"/>
+        <variable messageType="spr:getQuoteResponse" name="getQuoteResponseVar"/>
+    </variables>
+    <sequence>
+        <receive createInstance="yes" name="Receive_requestForQuote" operation="getQuote" partnerLink="BrokerToSupplierQuoteEngine" portType="spr:SupplierBehavior" variable="getQuoteRequestVar"/>
+        <reply name="Send_quote" operation="getQuote" partnerLink="BrokerToSupplierQuoteEngine" portType="spr:SupplierBehavior" variable="getQuoteResponseVar"/>
+    </sequence>
+</process>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/RequestForQuote_SupplierQuoteEngine.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/RequestForQuote_SupplierQuoteEngine.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/RequestForQuote_SupplierQuoteEngine.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:brk="http://www.pi4soa.org/ESBBroker/Broker" xmlns:byr="http://www.pi4soa.org/ESBBroker/Buyer" xmlns:cay="http://www.pi4soa.org/ESBBroker/CreditAgency" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:spr="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:tns="http://www.pi4soa.org/ESBBroker" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Supplier" targetNamespace="http://www.pi4soa.org/ESBBroker/Supplier">
+    <types xmlns="http://schemas.xmlsoap.org/wsdl/">
+        <schema xmlns="http://www.w3.org/2001/XMLSchema"/>
+    </types>
+    <wsdl:message name="confirmRequest">
+        <wsdl:part element="orderConfirmed" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="confirmResponse">
+        <wsdl:part element="bookingReference" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getQuoteResponse">
+        <wsdl:part element="quote" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:message name="getQuoteRequest">
+        <wsdl:part element="requestForQuote" name="content">
+        </wsdl:part>
+    </wsdl:message>
+    <wsdl:portType name="SupplierBehavior">
+        <wsdl:operation name="confirm">
+            <wsdl:input message="spr:confirmRequest">
+            </wsdl:input>
+            <wsdl:output message="spr:confirmResponse">
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getQuote">
+            <wsdl:input message="spr:getQuoteRequest">
+            </wsdl:input>
+            <wsdl:output message="spr:getQuoteResponse">
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:binding name="SupplierBehaviorBinding" type="spr:SupplierBehavior">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="confirm">
+            <soap:operation soapAction="http://www.pi4soa.org/ESBBroker/Supplier/confirm"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="getQuote">
+            <soap:operation soapAction="http://www.pi4soa.org/ESBBroker/Supplier/getQuote"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="SupplierService">
+        <wsdl:port binding="spr:SupplierBehaviorBinding" name="SupplierBehaviorPort">
+            <soap:address location="http://localhost:8080/SupplierService/SupplierBehaviorPort"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>

Added: branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/RequestForQuote_SupplierQuoteEngineArtifacts.wsdl
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/RequestForQuote_SupplierQuoteEngineArtifacts.wsdl	                        (rev 0)
+++ branches/experimental/2.0.x/bundles/org.savara.bpel.tests/src/test/resources/parser/testmodels/RequestForQuote_SupplierQuoteEngineArtifacts.wsdl	2011-01-04 21:53:07 UTC (rev 531)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://www.pi4soa.org/ESBBroker/Supplier" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" targetNamespace="http://www.pi4soa.org/ESBBroker/Supplier">
+    <wsdl:import location="RequestForQuote_SupplierQuoteEngine.wsdl" namespace="http://www.pi4soa.org/ESBBroker/Supplier"/>
+    <plnk:partnerLinkType name="BrokerToSupplierQuoteEngineServiceLT">
+        <plnk:role name="SupplierBehavior" portType="ns1:SupplierBehavior"/>
+    </plnk:partnerLinkType>
+</wsdl:definitions>



More information about the savara-commits mailing list