blob: 6bafceeb519712f8dfc948b08ace842d912a5463 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<process name="PickProcess" suppressJoinFailure="yes" exitOnStandardFault="no"
xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:srvns="http://www.stark.com/PickService"
xmlns:tns="http://www.stark.com/PickProcess"
targetNamespace="http://emcs/www.stark.com/PickProcess">
<import importType="http://schemas.xmlsoap.org/wsdl/" location="PickService.wsdl" namespace="http://www.stark.com/PickService"/>
<partnerLinks>
<partnerLink name="IncomingLink" myRole="PickServiceProvider" partnerLinkType="srvns:PickServicePLT"/>
</partnerLinks>
<correlationSets>
<correlationSet name="CorrelationByDeck" properties="srvns:deck"/>
</correlationSets>
<variables>
<variable messageType="srvns:dealDeckRequest" name="deckRequest"/>
<variable messageType="srvns:pickSpadeRequest" name="spadeRequest"/>
<variable messageType="srvns:pickClubRequest" name="clubRequest"/>
<variable messageType="srvns:pickHeartRequest" name="heartRequest"/>
<variable messageType="srvns:pickDiamondRequest" name="diamondRequest"/>
<variable messageType="srvns:dealDeckResponse" name="deckResponse"/>
<variable messageType="srvns:pickSpadeResponse" name="spadeResponse"/>
<variable messageType="srvns:pickClubResponse" name="clubResponse"/>
<variable messageType="srvns:pickHeartResponse" name="heartResponse"/>
<!--
<variable messageType="srvns:pickDiamondResponse" name="diamondResponse"/>
-->
</variables>
<sequence name="DeckLoop">
<sequence name="initDeck">
<receive operation="dealDeck" partnerLink="IncomingLink" variable="deckRequest" createInstance="yes">
<correlations>
<correlation initiate="yes" set="CorrelationByDeck"/>
</correlations>
</receive>
<assign>
<copy>
<from><literal>
<dealDeckResponse xmlns="http://www.stark.com/PickService"><Deck/></dealDeckResponse>
</literal></from>
<to variable="deckResponse" part="parameters"/>
</copy>
<copy>
<from>bpel:getVariableProperty("deckRequest", "srvns:deck")</from>
<to>$deckResponse.parameters/srvns:Deck</to>
</copy>
</assign>
<reply operation="dealDeck" partnerLink="IncomingLink" variable="deckResponse"/>
</sequence>
<while><condition>1 = 1</condition>
<sequence name="pickLoop">
<pick name="suitPicker">
<onMessage operation="pickSpade" partnerLink="IncomingLink" variable="spadeRequest">
<correlations>
<correlation initiate="no" set="CorrelationByDeck"/>
</correlations>
<sequence>
<assign>
<copy>
<from><literal>
<pickSpadeResponse xmlns="http://www.stark.com/PickService"><Deck/></pickSpadeResponse>
</literal></from>
<to variable="spadeResponse" part="parameters"/>
</copy>
<copy>
<from>bpel:getVariableProperty("spadeRequest", "srvns:deck")</from>
<to>$spadeResponse.parameters/srvns:Deck</to>
</copy>
</assign>
<reply operation="pickSpade" partnerLink="IncomingLink" variable="spadeResponse"/>
</sequence>
</onMessage>
<onMessage operation="pickClub" partnerLink="IncomingLink" variable="clubRequest">
<correlations>
<correlation initiate="no" set="CorrelationByDeck"/>
</correlations>
<sequence>
<assign>
<copy>
<from><literal>
<pickClubResponse xmlns="http://www.stark.com/PickService"><Deck/></pickClubResponse>
</literal></from>
<to variable="clubResponse" part="parameters"/>
</copy>
<copy>
<from>bpel:getVariableProperty("clubRequest", "srvns:deck")</from>
<to>$clubResponse.parameters/srvns:Deck</to>
</copy>
</assign>
<reply operation="pickClub" partnerLink="IncomingLink" variable="clubResponse"/>
</sequence>
</onMessage>
<onMessage operation="pickHeart" partnerLink="IncomingLink" variable="heartRequest">
<correlations>
<correlation initiate="no" set="CorrelationByDeck"/>
</correlations>
<sequence>
<assign>
<copy>
<from><literal>
<pickHeartResponse xmlns="http://www.stark.com/PickService"><Deck/></pickHeartResponse>
</literal></from>
<to variable="heartResponse" part="parameters"/>
</copy>
<copy>
<from>bpel:getVariableProperty("heartRequest", "srvns:deck")</from>
<to>$heartResponse.parameters/srvns:Deck</to>
</copy>
</assign>
<reply operation="pickHeart" partnerLink="IncomingLink" variable="heartResponse"/>
</sequence>
</onMessage>
<onMessage operation="pickDiamond" partnerLink="IncomingLink" variable="diamondRequest">
<correlations>
<correlation initiate="no" set="CorrelationByDeck"/>
</correlations>
<sequence>
<empty/>
<!--
<assign>
<copy>
<from><literal>
<pickDiamondResponse xmlns="http://www.stark.com/PickService"><Deck/></pickDiamondResponse>
</literal></from>
<to variable="diamondResponse" part="parameters"/>
</copy>
<copy>
<from>bpel:getVariableProperty("diamondRequest", "srvns:deck")</from>
<to>$diamondResponse.parameters/srvns:Deck</to>
</copy>
</assign>
<reply operation="pickDiamond" partnerLink="IncomingLink" variable="diamondResponse"/>
-->
</sequence>
</onMessage>
</pick>
</sequence>
</while>
</sequence>
</process>