<WorkflowProcess Id="tasks" Name="tasks">
<ProcessHeader>
<Created>2010-09-07 04:04:58</Created>
</ProcessHeader>
<FormalParameters>
<FormalParameter Id="test1_ok" Mode="IN" Required="1">
<DataType>
<BasicType Type="STRING"/>
</DataType>
</FormalParameter>
<FormalParameter Id="test2_ok" Mode="IN">
<DataType>
<BasicType Type="STRING"/>
</DataType>
</FormalParameter>
<FormalParameter Id="run_test2" Mode="INOUT">
<DataType>
<BasicType Type="STRING"/>
</DataType>
<InitialValue>'C'</InitialValue>
</FormalParameter>
<FormalParameter Id="pathtaken" Mode="OUT">
<DataType>
<BasicType Type="STRING"/>
</DataType>
</FormalParameter>
</FormalParameters>
<Participants>
<Participant Id="Sales" Name="Sales">
<ParticipantType Type="ROLE"/>
</Participant>
</Participants>
<Activities>
<!-- Send -->
<Activity Id="send1" Name="Send 1">
<Implementation>
<Task>
<TaskSend Implementation="WebService">
<Message Id="1" Name="msg" From="me" To="you" FaultName="error">
<ActualParameters>
<ActualParameter>common</ActualParameter>
<ActualParameter>sbflw1data</ActualParameter>
</ActualParameters>
</Message>
<WebServiceOperation OperationName="send_task">
<Service ServiceName="api.example.com/wfcs" PortName="80">
<EndPoint EndPointType="Service">
<ExternalReference xref="IN" location="http://example.com/wfcs" namespace="http://example.com/wfcs"/>
</EndPoint>
</Service>
</WebServiceOperation>
<WebServiceFaultCatch FaultName="throws">
<Message Id="5"/>
<TransitionRef Id="6"/>
</WebServiceFaultCatch>
</TaskSend>
</Task>
</Implementation>
</Activity>
<Activity Id="send2" Name="Send 2">
<Implementation>
<Task>
<TaskSend [% IF 0 %]Id="o_1" Name="Activity" [% END %]Implementation="WebService">
<Message Id="1" Name="msg" From="me" To="you" FaultName="error">
<ActualParameters>
<ActualParameter>common</ActualParameter>
<ActualParameter>sbflw1data</ActualParameter>
</ActualParameters>
</Message>
<WebServiceOperation OperationName="send">
<Partner PartnerLinkId="internal.Debug" RoleType="MyRole"/>
[% IF 0 %]<Partner PartnerLinkId="internal.Email" RoleType="PartnerRole"/>[% END %]
</WebServiceOperation>
</TaskSend>
</Task>
</Implementation>
</Activity>
<!-- Receive -->
<Activity Id="receive" Name="Receive">
<Implementation>
<Task>
<TaskReceive Instantiate="1" Implementation="WebService">
<Message Id="2" Name="msg2" From="you" To="me" FaultName="throw">
<DataMappings/>
</Message>
<WebServiceOperation OperationName="receive_task">
<Partner PartnerLinkId="466" RoleType="PartnerRole"/>
</WebServiceOperation>
</TaskReceive>
</Task>
</Implementation>
</Activity>
<!-- Service -->
<Activity Id="service1" Name="Service 1">
<Description />
<Implementation>
<Task>
<TaskService Implementation="WebService">
<MessageIn Id="7" Name="msg" From="Bob" To="Alice" FaultName="error">
<ActualParameters>
<ActualParameter ScriptType="tt" ScriptVersion="1.0" ScriptGrammar="http://www.daisy.org/pipeline/gui">common</ActualParameter>
<ActualParameter>sbflw1data</ActualParameter>
</ActualParameters>
</MessageIn>
<MessageOut Id="8">
<DataMappings>
<DataMapping Formal="subprocParam1" Direction="OUT">
<Actual>ParProcFieldName</Actual>
<TestValue>'This subprocess has not been invoked'</TestValue>
</DataMapping>
</DataMappings>
</MessageOut>
<WebServiceOperation OperationName="service_task">
<Service ServiceName="Flow::Handler::Queue::SQS" PortName="80">
<EndPoint EndPointType="Service">
<ExternalReference
xref="GET"
location="http://aws.amazon.com/yourqueue"
namespace="http://example.com/wfcs"
/>
</EndPoint>
</Service>
</WebServiceOperation>
<WebServiceFaultCatch FaultName="throws">
<Message Id="5">
<DataMappings>
<DataMapping Formal="subprocParam1" Direction="OUT">
<Actual>ParProcFieldName</Actual>
<TestValue>'This subprocess has not been invoked'</TestValue>
</DataMapping>
</DataMappings>
</Message>
<TransitionRef Id="6"/>
</WebServiceFaultCatch>
</TaskService>
</Task>
</Implementation>
</Activity>
<Activity Id="service2" Name="Service 2">
<Implementation>
<Task>
<TaskService Implementation="Other">
<MessageIn Id="3" Name="m3" From="you" To="me" FaultName="MyBad"/>
<MessageOut Id="4" Name="m4" From="me" To="you" FaultName="ServerMadeABooBoo"/>
<WebServiceOperation OperationName="service_task">
<Partner PartnerLinkId="466" RoleType="PartnerRole"/>
</WebServiceOperation>
<WebServiceFaultCatch FaultName="throws">
<Message Id="5"/>
[% IF 0 %]<BlockActivity ActivitySetId="Set1" />[% END %]
<TransitionRef Id="6"/>
</WebServiceFaultCatch>
</TaskService>
</Task>
</Implementation>
</Activity>
<!-- User -->
<Activity Id="user" Name="User 1">
<Description />
<Implementation>
<Task>
<TaskUser[% IF 0 %] Id="o_2" Name="Activity" Implementation="Unspecified"[% END %]>
<Performers>
<Performer>Sales</Performer>
</Performers>
<MessageIn Id="7"/>
<MessageOut Id="8"/>
<WebServiceOperation OperationName="user_task">
<Partner PartnerLinkId="466" RoleType="PartnerRole"[% IF 0 %] Method="POST"[% END %]/>
</WebServiceOperation>
</TaskUser>
</Task>
</Implementation>
</Activity>
<!-- Manual -->
<Activity Id="manual" Name="manual">
<Implementation>
<Task>
<TaskManual>
<Performers>
<Performer>Sales</Performer>
</Performers>
</TaskManual>
</Task>
</Implementation>
</Activity>
<!-- Script -->
<Activity Id="script" Name="Script">
<Implementation>
<Task>
<TaskScript>
<Script ScriptType="tt"><![CDATA[
IF amount > 100;
process_instance.attribute(customer_type => 'whale');
ELSE;
process_instance.attribute('customer_type', 'normal');
END
]]></Script>
</TaskScript>
</Task>
</Implementation>
</Activity>
</Activities>
<Transitions>
<Transition Id="send1-send2" From="send1" To="send2"/>
<Transition Id="send2-receive" From="send2" To="receive"/>
<Transition Id="receive-service1" From="receive" To="service1"/>
<Transition Id="service1-service2" From="service1" To="service2"/>
<Transition Id="service2-user" From="service2" To="user"/>
<Transition Id="user-manual" From="user" To="manual"/>
<Transition Id="manual-script" From="manual" To="script"/>
</Transitions>
</WorkflowProcess>