Author: objectiser
Date: 2011-02-10 17:54:15 -0500 (Thu, 10 Feb 2011)
New Revision: 654
Added:
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/ESBBroker.spr
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/PolicyQuote.spr
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/PurchaseGoods.spr
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/ReqRespFault.spr
Log:
Added:
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/ESBBroker.spr
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/ESBBroker.spr
(rev 0)
+++
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/ESBBroker.spr 2011-02-10
22:54:15 UTC (rev 654)
@@ -0,0 +1,130 @@
+[[ XSDElement ]]
+import xsd "bookingReference" as BookingReference, "buy" as Buy,
"cancel" as Cancel, "CreditCheckRequest" as CreditInformation,
"CreditCheckInvalid" as CreditInvalid, "CreditCheckOk" as CreditValid,
"enquiry" as Enquiry, "orderConfirmed" as OrderConfirmed,
"orderRejected" as OrderRejected, "quote" as Quote,
"quoteList" as QuoteList, "requestForQuote" as RequestForQuote;
+[[ SourceComponent(id=//(a)choreographies.0) ]]
+[[
Namespace(name=http://www.pi4soa.org/ESBBroker/Broker,role=Broker) ]]
+[[
Namespace(name=http://www.pi4soa.org/ESBBroker/Buyer,role=Buyer) ]]
+[[
Namespace(name=http://www.pi4soa.org/ESBBroker/CreditAgency,role=CreditAg... ]]
+[[
Namespace(name=http://www.pi4soa.org/ESBBroker/Supplier,role=Supplier) ]]
+[[
Type(prefix=tns,namespace=http://www.pi4soa.org/ESBBroker) ]]
+[[
Type(prefix=xsd,namespace=http://www.w3.org/2001/XMLSchema) ]]
+[[
Type(prefix=brk,namespace=http://www.pi4soa.org/ESBBroker/Broker) ]]
+[[
Type(prefix=byr,namespace=http://www.pi4soa.org/ESBBroker/Buyer) ]]
+[[
Type(prefix=cay,namespace=http://www.pi4soa.org/ESBBroker/CreditAgency) ]]
+[[
Type(prefix=spr,namespace=http://www.pi4soa.org/ESBBroker/Supplier) ]]
+[[
Namespace(name=http://www.pi4soa.org/ESBBroker/Supplier,role=SupplierTxnP... ]]
+[[
Namespace(name=http://www.pi4soa.org/ESBBroker/Supplier,role=SupplierQuot... ]]
+protocol ESBBrokerProcess {
+ role Broker, Buyer, CreditAgency, Supplier;
+ [[ SourceComponent(id=//@choreographies.0/@activities.0/(a)exchangeDetails.0) ]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}BrokerBehavior) ]]
+ [[ Correlation(request=makeEnquiry) ]]
+ makeEnquiry(Enquiry) from Buyer to Broker;
+ [[ SourceComponent(id=//@choreographies.0/(a)activities.1) ]]
+ repeat {
+ [[ SourceComponent(id=//@choreographies.0/@activities.1/(a)activities.0) ]]
+ run RequestForQuote(Broker);
+ }
+ [[
SourceComponent(id=//@choreographies.0/@activities.2/@activities.0/(a)exchangeDetails.0) ]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}BrokerBehavior) ]]
+ [[ Correlation(replyTo=makeEnquiry) ]]
+ makeEnquiry(QuoteList) from Broker to Buyer;
+ [[ SourceComponent(id=//@choreographies.0/(a)activities.3) ]]
+ choice from Buyer to Broker {
+ [[ Correlation(request=buy) ]]
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.0/(a)exchangeDetails.0)
]]
+ buy(Buy):
+ role SupplierTxnProcessor;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.1/(a)exchangeDetails.0)
]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}CreditAgencyBehavior) ]]
+ [[ Correlation(request=checkCredit) ]]
+ checkCredit(CreditInformation) from Broker to CreditAgency;
+ [[ SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/(a)activities.2) ]]
+ choice from CreditAgency to Broker {
+ [[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.0/(a)exchangeDetails.0)
]]
+ checkCredit(CreditValid):
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.1/(a)exchangeDetails.0)
]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}SupplierBehavior) ]]
+ [[ Correlation(request=confirm) ]]
+ confirm(OrderConfirmed) from Broker to SupplierTxnProcessor;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.1/(a)exchangeDetails.1)
]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}SupplierBehavior) ]]
+ [[ Correlation(replyTo=confirm) ]]
+ confirm(BookingReference) from SupplierTxnProcessor to Broker;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.2/(a)exchangeDetails.0)
]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}BrokerBehavior) ]]
+ [[ Correlation(replyTo=buy) ]]
+ buy(BookingReference) from Broker to Buyer;
+
+ [[ Fault(name=invalidCredit) ]]
+ [[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.1/@activities.0/(a)exchangeDetails.0)
]]
+ checkCredit(CreditInvalid):
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.1/@activities.1/(a)exchangeDetails.0)
]]
+ [[ Fault(name=rejected) ]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}BrokerBehavior) ]]
+ [[ Correlation(replyTo=buy) ]]
+ buy(OrderRejected) from Broker to Buyer;
+
+ }
+
+ [[
SourceComponent(id=//@choreographies.0/@activities.3/@activities.1/@activities.0/(a)exchangeDetails.0)
]]
+ cancel(Cancel):
+
+ }
+ [[ SourceComponent(id=//@choreographies.0/(a)enclosedChoreographies.0) ]]
+ [[
Namespace(name=http://www.pi4soa.org/ESBBroker/Supplier,role=SupplierTxnP...
]]
+ protocol CompleteTransaction(role Buyer, role Broker, role CreditAgency) {
+ role SupplierTxnProcessor;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.0/(a)exchangeDetails.0)
]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}BrokerBehavior) ]]
+ [[ Correlation(request=buy) ]]
+ buy(Buy) from Buyer to Broker;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.1/(a)exchangeDetails.0)
]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}CreditAgencyBehavior) ]]
+ [[ Correlation(request=checkCredit) ]]
+ checkCredit(CreditInformation) from Broker to CreditAgency;
+ [[ SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/(a)activities.2) ]]
+ choice from CreditAgency to Broker {
+ [[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.0/(a)exchangeDetails.0)
]]
+ checkCredit(CreditValid):
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.1/(a)exchangeDetails.0)
]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}SupplierBehavior) ]]
+ [[ Correlation(request=confirm) ]]
+ confirm(OrderConfirmed) from Broker to SupplierTxnProcessor;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.1/(a)exchangeDetails.1)
]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}SupplierBehavior) ]]
+ [[ Correlation(replyTo=confirm) ]]
+ confirm(BookingReference) from SupplierTxnProcessor to Broker;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.2/(a)exchangeDetails.0)
]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}BrokerBehavior) ]]
+ [[ Correlation(replyTo=buy) ]]
+ buy(BookingReference) from Broker to Buyer;
+
+ [[ Fault(name=invalidCredit) ]]
+ [[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.1/@activities.0/(a)exchangeDetails.0)
]]
+ checkCredit(CreditInvalid):
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.1/@activities.1/(a)exchangeDetails.0)
]]
+ [[ Fault(name=rejected) ]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}BrokerBehavior) ]]
+ [[ Correlation(replyTo=buy) ]]
+ buy(OrderRejected) from Broker to Buyer;
+
+ }
+ }
+ [[ SourceComponent(id=//@choreographies.0/(a)enclosedChoreographies.1) ]]
+ [[
Namespace(name=http://www.pi4soa.org/ESBBroker/Supplier,role=SupplierQuot... ]]
+ protocol RequestForQuote(role Broker) {
+ role SupplierQuoteEngine;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.1/@activities.0/(a)exchangeDetails.0)
]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}SupplierBehavior) ]]
+ [[ Correlation(request=getQuote) ]]
+ getQuote(RequestForQuote) from Broker to SupplierQuoteEngine;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.1/@activities.0/(a)exchangeDetails.1)
]]
+ [[
Interface(name={http://www.pi4soa.org/ESBBroker}SupplierBehavior) ]]
+ [[ Correlation(replyTo=getQuote) ]]
+ getQuote(Quote) from SupplierQuoteEngine to Broker;
+ }
+}
Added:
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/PolicyQuote.spr
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/PolicyQuote.spr
(rev 0)
+++
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/PolicyQuote.spr 2011-02-10
22:54:15 UTC (rev 654)
@@ -0,0 +1,76 @@
+[[ XSDElement ]]
+import xsd "{http://creditagency.com/creditCheck}creditCheckRequest" as
CreditCheckRequest, "{http://creditagency.com/creditCheck}creditCheckResponse"
as CreditCheckResponse from "http://creditagency.com/creditCheck";
+[[ XSDElement ]]
+import xsd "{http://dmv.com/drivingRecord}drivingRecordRequest" as
DrivingRecordRequest, "{http://dmv.com/drivingRecord}drivingRecordResponse" as
DrivingRecordResponse from "http://dmv.com/drivingRecord";
+[[ XSDType ]]
+import xsd "{http://www.w3.org/2001/XMLSchema}string" as IDSSNType from
"http://www.w3.org/2001/XMLSchema";
+[[ XSDElement ]]
+import xsd "{http://www.example.org/policyQuote}policyQuote" as PolicyQuote,
"{http://www.example.org/policyQuote}policyQuoteFault" as PolicyQuoteFault,
"{http://www.example.org/policyQuote}policyQuoteReply" as PolicyQuoteReply from
"http://www.example.org/policyQuote";
+[[ XSDElement ]]
+import xsd "{http://www.w3.org/2001/XMLSchema}anyURI" as URITokenType from
"http://www.w3.org/2001/XMLSchema";
+[[ SourceComponent(id=//(a)choreographies.0) ]]
+[[
Namespace(name=http://www.pi4soa.org/PolicyQuote,role=Driver) ]]
+[[
Namespace(name=http://creditagency.com/creditCheckService,role=CreditChec... ]]
+[[
Namespace(name=http://dmv.com/drivingRecordService,role=DrivingRecordServ... ]]
+[[
Namespace(name=http://www.example.org/policyQuoteCalculationService,role=...
]]
+[[
Namespace(name=http://www.example.org/policyQuoteEntityService,role=Polic...
]]
+[[
Namespace(name=http://www.example.org/policyQuoteProcessService,role=Poli...
]]
+[[
Type(prefix=tns,namespace=http://www.pi4soa.org/PolicyQuote) ]]
+[[
Type(prefix=xsd,namespace=http://www.w3.org/2001/XMLSchema) ]]
+[[
Type(location=schema/policyQuote.xsd,prefix=pol,namespace=http://www.exam...
]]
+[[
Type(location=schema/drivingRecord.xsd,prefix=drv,namespace=http://dmv.co...
]]
+[[
Type(location=schema/creditCheck.xsd,prefix=cred,namespace=http://credita...
]]
+[[
Type(prefix=pps,namespace=http://www.example.org/policyQuoteProcessService) ]]
+[[
Type(prefix=pcs,namespace=http://www.example.org/policyQuoteCalculationSe... ]]
+[[
Type(prefix=pes,namespace=http://www.example.org/policyQuoteEntityService) ]]
+[[
Type(prefix=dmv,namespace=http://dmv.com/drivingRecordService) ]]
+[[
Type(prefix=ca,namespace=http://creditagency.com/creditCheckService) ]]
+protocol PolicyQuoteProcess {
+ role Driver, CreditCheckService, DrivingRecordService, PolicyQuoteCalculationService,
PolicyQuoteEntityService, PolicyQuoteProcessService;
+ [[ SourceComponent(id=//@choreographies.0/@activities.0/(a)exchangeDetails.0) ]]
+ [[
Interface(name={http://www.pi4soa.org/PolicyQuote}PolicyQuoteProcessService) ]]
+ [[ Correlation(request=receivePolicyQuote) ]]
+ receivePolicyQuote(PolicyQuote) from Driver to PolicyQuoteProcessService;
+ [[ SourceComponent(id=//@choreographies.0/@activities.1/(a)exchangeDetails.0) ]]
+ [[
Interface(name={http://www.pi4soa.org/PolicyQuote}DrivingRecordService) ]]
+ checkDrivingRecord(DrivingRecordRequest) from PolicyQuoteProcessService to
DrivingRecordService;
+ [[ SourceComponent(id=//@choreographies.0/@activities.2/(a)exchangeDetails.0) ]]
+ [[
Interface(name={http://www.pi4soa.org/PolicyQuote}DrivingRecordCallbackSe... ]]
+ receiveDrivingRecord(DrivingRecordResponse) from DrivingRecordService to
PolicyQuoteProcessService;
+ [[ SourceComponent(id=//@choreographies.0/(a)activities.3) ]]
+ choice {
+ label0():
+ [[ Correlation(request=checkCredit) ]]
+ checkCredit(CreditCheckRequest) from PolicyQuoteProcessService to CreditCheckService;
+ [[
SourceComponent(id=//@choreographies.0/@activities.3/@activities.0/@activities.0/@activities.0/(a)exchangeDetails.1)
]]
+ [[
Interface(name={http://www.pi4soa.org/PolicyQuote}CreditCheckService) ]]
+ [[ Correlation(replyTo=checkCredit) ]]
+ checkCredit(CreditCheckResponse) from CreditCheckService to
PolicyQuoteProcessService;
+ [[
SourceComponent(id=//@choreographies.0/@activities.3/@activities.0/@activities.0/@activities.1/(a)exchangeDetails.0)
]]
+ [[
Interface(name={http://www.pi4soa.org/PolicyQuote}PolicyQuoteCalculationS...
]]
+ [[ Correlation(request=calculatePolicyQuote) ]]
+ calculatePolicyQuote(PolicyQuote) from PolicyQuoteProcessService to
PolicyQuoteCalculationService;
+ [[
SourceComponent(id=//@choreographies.0/@activities.3/@activities.0/@activities.0/@activities.1/(a)exchangeDetails.1)
]]
+ [[
Interface(name={http://www.pi4soa.org/PolicyQuote}PolicyQuoteCalculationS...
]]
+ [[ Correlation(replyTo=calculatePolicyQuote) ]]
+ calculatePolicyQuote(PolicyQuoteReply) from PolicyQuoteCalculationService to
PolicyQuoteProcessService;
+ [[
SourceComponent(id=//@choreographies.0/@activities.3/@activities.0/@activities.0/@activities.2/(a)exchangeDetails.0)
]]
+ [[
Interface(name={http://www.pi4soa.org/PolicyQuote}PolicyQuoteEntityService) ]]
+ [[ Correlation(request=createPolicyQuote) ]]
+ createPolicyQuote(PolicyQuote) from PolicyQuoteProcessService to
PolicyQuoteEntityService;
+ [[
SourceComponent(id=//@choreographies.0/@activities.3/@activities.0/@activities.0/@activities.2/(a)exchangeDetails.1)
]]
+ [[
Interface(name={http://www.pi4soa.org/PolicyQuote}PolicyQuoteEntityService) ]]
+ [[ Correlation(replyTo=createPolicyQuote) ]]
+ createPolicyQuote(PolicyQuoteReply) from PolicyQuoteEntityService to
PolicyQuoteProcessService;
+ [[
SourceComponent(id=//@choreographies.0/@activities.3/@activities.0/@activities.0/@activities.3/(a)exchangeDetails.0)
]]
+ [[
Interface(name={http://www.pi4soa.org/PolicyQuote}PolicyQuoteProcessService) ]]
+ [[ Correlation(replyTo=receivePolicyQuote) ]]
+ receivePolicyQuote(PolicyQuoteReply) from PolicyQuoteProcessService to Driver;
+
+ label1():
+ [[ Fault(name=policyQuoteFault) ]]
+ [[ Correlation(replyTo=receivePolicyQuote) ]]
+ receivePolicyQuote(PolicyQuoteFault) from PolicyQuoteProcessService to Driver;
+
+ }
+}
Added:
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/PurchaseGoods.spr
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/PurchaseGoods.spr
(rev 0)
+++
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/PurchaseGoods.spr 2011-02-10
22:54:15 UTC (rev 654)
@@ -0,0 +1,46 @@
+[[ XSDType ]]
+import xsd "{http://www.jboss.org/examples/store}BuyConfirmed" as BuyConfirmed,
"{http://www.jboss.org/examples/store}BuyFailed" as BuyFailed,
"{http://www.jboss.org/examples/store}BuyRequest" as BuyRequest from
"http://www.jboss.org/examples/store";
+[[ XSDType ]]
+import xsd "{java:org.jboss.savara.examples.purchasing}CreditCheckInvalid" as
CreditCheckInvalid, "{java:org.jboss.savara.examples.purchasing}CreditCheckOk"
as CreditCheckOk,
"{java:org.jboss.savara.examples.purchasing}CreditCheckRequest" as
CreditCheckRequest from "java:org.jboss.savara.examples.purchasing";
+[[ XSDType ]]
+import xsd "{http://www.w3.org/2001/XMLSchema}string" as IDType,
"{http://www.w3.org/2001/XMLSchema}anyURI" as URITokenType from
"http://www.w3.org/2001/XMLSchema";
+[[ SourceComponent(id=//(a)choreographies.0) ]]
+[[
Namespace(name=http://www.jboss.org/savara/examples,role=Buyer) ]]
+[[ Namespace(name=java:org.jboss.savara.examples.purchasing,role=CreditAgency) ]]
+[[
Namespace(name=http://www.jboss.org/examples/store,role=Store) ]]
+[[
Type(prefix=tns,namespace=http://www.jboss.org/savara/examples) ]]
+[[
Type(prefix=xsd,namespace=http://www.w3.org/2001/XMLSchema) ]]
+[[ Type(prefix=pur,namespace=java:org.jboss.savara.examples.purchasing) ]]
+[[
Type(prefix=sto,namespace=http://www.jboss.org/examples/store) ]]
+protocol PurchaseGoodsProcess {
+ role Buyer, CreditAgency, Store;
+ [[ SourceComponent(id=//@choreographies.0/@activities.0/(a)exchangeDetails.0) ]]
+ [[
Interface(name={http://www.jboss.org/examples/store}StoreInterface) ]]
+ [[ Correlation(request=buy) ]]
+ buy(BuyRequest) from Buyer to Store;
+ [[ SourceComponent(id=//@choreographies.0/@activities.1/(a)exchangeDetails.0) ]]
+ [[ Interface(name={java:org.jboss.savara.examples.purchasing}CreditAgencyInterface) ]]
+ [[ Correlation(request=checkCredit) ]]
+ checkCredit(CreditCheckRequest) from Store to CreditAgency;
+ [[ SourceComponent(id=//@choreographies.0/(a)activities.2) ]]
+ choice from CreditAgency to Store {
+ [[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@activities.2/@activities.0/@activities.0/(a)exchangeDetails.0)
]]
+ checkCredit(CreditCheckOk):
+ [[
SourceComponent(id=//@choreographies.0/@activities.2/@activities.0/@activities.1/(a)exchangeDetails.0)
]]
+ [[
Interface(name={http://www.jboss.org/examples/store}StoreInterface) ]]
+ [[ Correlation(replyTo=buy) ]]
+ buy(BuyConfirmed) from Store to Buyer;
+
+ [[ Fault(name=CreditCheckFailed) ]]
+ [[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@activities.2/@activities.1/@activities.0/(a)exchangeDetails.0)
]]
+ checkCredit(CreditCheckInvalid):
+ [[
SourceComponent(id=//@choreographies.0/@activities.2/@activities.1/@activities.1/(a)exchangeDetails.0)
]]
+ [[ Fault(name=BuyFailed) ]]
+ [[
Interface(name={http://www.jboss.org/examples/store}StoreInterface) ]]
+ [[ Correlation(replyTo=buy) ]]
+ buy(BuyFailed) from Store to Buyer;
+
+ }
+}
Added:
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/ReqRespFault.spr
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/ReqRespFault.spr
(rev 0)
+++
branches/experimental/2.0.x/bundles/org.savara.protocol/src/test/resources/testmodels/protocol/ReqRespFault.spr 2011-02-10
22:54:15 UTC (rev 654)
@@ -0,0 +1,28 @@
+[[ XSDElement ]]
+import xsd "CreditCheckRequest" as CreditInformation,
"CreditCheckInvalid" as CreditInvalid, "CreditCheckOk" as
CreditValid;
+[[ SourceComponent(id=//(a)choreographies.0) ]]
+[[
Namespace(name=http://www.pi4soa.org/ReqRespFault/Buyer,role=Buyer) ]]
+[[
Namespace(name=http://www.pi4soa.org/ReqRespFault/Seller,role=Seller) ]]
+[[
Type(prefix=tns,namespace=http://www.pi4soa.org/ReqRespFault) ]]
+[[
Type(prefix=xsd,namespace=http://www.w3.org/2001/XMLSchema) ]]
+[[
Type(prefix=byr,namespace=http://www.pi4soa.org/ReqRespFault/Buyer) ]]
+[[
Type(prefix=slr,namespace=http://www.pi4soa.org/ReqRespFault/Seller) ]]
+protocol ReqRespFaultProcess {
+ role Buyer, Seller;
+ [[ SourceComponent(id=//@choreographies.0/@activities.0/(a)exchangeDetails.0) ]]
+ [[
Interface(name={http://www.pi4soa.org/ReqRespFault}SellerBehavior) ]]
+ [[ Correlation(request=checkCredit) ]]
+ checkCredit(CreditInformation) from Buyer to Seller;
+ [[ SourceComponent(id=//@choreographies.0/(a)activities.1) ]]
+ choice from Seller to Buyer {
+ [[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@activities.1/@activities.0/@activities.0/(a)exchangeDetails.0)
]]
+ checkCredit(CreditValid):
+
+ [[ Fault(name=insufficientCredit) ]]
+ [[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@activities.1/@activities.1/@activities.0/(a)exchangeDetails.0)
]]
+ checkCredit(CreditInvalid):
+
+ }
+}