<?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> |