blob: f97779965d039cbf09ca7f0defd7bbd3054af735 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?><!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<bpel:process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:pnlk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:Client="http://example.com/HandleTimer/Client"
xmlns:this="http://ode.apache.org/example"
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
name="Timer" targetNamespace="http://ode.apache.org/example">
<bpel:import namespace="http://example.com/HandleTimer" location="HandleTimer.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
<bpel:import namespace="http://example.com/HandleTimer/Timer" location="HandleTimer-Timer.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
<bpel:partnerLinks>
<bpel:partnerLink name="timerAndClientPlkVar" partnerLinkType="this:TimerAndClient" myRole="Timer_for_Client"/>
</bpel:partnerLinks>
<bpel:variables>
<bpel:variable name="msg" messageType="this:receiveRequest"/>
<bpel:variable name="msg1" messageType="this:receiveResponse"/>
</bpel:variables>
<bpel:sequence>
<bpel:receive partnerLink="timerAndClientPlkVar" portType="this:ForClient" operation="receive" variable="msg" createInstance="yes"></bpel:receive>
<bpel:assign name="init-variables-Timer">
<bpel:copy>
<bpel:from>
<bpel:literal>
<this:start>
</this:start>
</bpel:literal>
</bpel:from>
<bpel:to>$msg1.body</bpel:to>
</bpel:copy>
</bpel:assign>
<bpel:scope>
<bpel:faultHandlers>
<bpel:catchAll>
<bpel:empty/>
</bpel:catchAll>
</bpel:faultHandlers>
<bpel:scope>
<bpel:eventHandlers>
<bpel:onAlarm>
<bpel:for>"PT1S"</bpel:for>
<bpel:scope>
<bpel:throw faultName="tns:goodFault"/>
</bpel:scope>
</bpel:onAlarm>
</bpel:eventHandlers>
<bpel:if>
<bpel:condition>$msg/start=10</bpel:condition>
<bpel:sequence>
<bpel:empty/>
</bpel:sequence>
<bpel:else>
<bpel:sequence>
<bpel:empty/>
<bpel:wait>
<bpel:for>'PT15S'</bpel:for>
</bpel:wait>
</bpel:sequence>
</bpel:else>
</bpel:if>
</bpel:scope>
</bpel:scope>
<bpel:reply partnerLink="timerAndClientPlkVar" portType="this:ForClient" operation="receive" variable="msg1"></bpel:reply>
</bpel:sequence>
</bpel:process>