summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.3/itest/bpel/ping-pong/test/resources/pong/pong.bpel
blob: b5d84898c7b6bbd376758dadc4ea855560cf09da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?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.
  -->
<process
        name="Pong"
        xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
        targetNamespace="http://tuscany.apache.org/implementation/bpel/example/pong.bpel"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:tns="http://tuscany.apache.org/implementation/bpel/example/pong.bpel"
        xmlns:pong="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl"
        expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">

    <import location="pong.wsdl"
            namespace="http://tuscany.apache.org/implementation/bpel/example/pong.wsdl"
            importType="http://schemas.xmlsoap.org/wsdl/" />


    <partnerLinks>
        <partnerLink name="PongPartnerLink"
                partnerLinkType="pong:PongPartnerLinkType"
                myRole="Provider" />
    </partnerLinks>

    <variables>
        <variable messageType="pong:PongRequest" name="pongRequest"/>
        <variable messageType="pong:PongResponse" name="pongResponse"/>
        <variable type="xsd:string" name="text" />
    </variables>

    <sequence name="Main">
        <receive name="pongReceive"
                createInstance="yes"
                operation="Pong"
                partnerLink="PongPartnerLink"
                portType="pong:PongPortType"
                variable="pongRequest"/>

        <assign name="assignPongRequest">
            <!-- add "ping" text to the input text -->
            <copy>
                <from>concat($pongRequest.body/pong:text, ' pong')</from>
                <to>$text</to>
            </copy>
            <!-- initialize pongResponse -->
            <copy>
                <from>
                    <literal>
                        <pong:PongRequest>
                            <pong:text/>
                        </pong:PongRequest>
                    </literal>
                </from>
                <to>$pongResponse.body</to>
            </copy>
            <!-- copy new text into pongResponse -->
            <copy>
                <from>$text</from>
                <to>$pongResponse.body/pong:text</to>
            </copy>
        </assign>
        
        <reply name="pongReply"
                partnerLink="PongPartnerLink"
                portType="pong:PongPortType"
                operation="Pong"
                variable="pongResponse"/>
    </sequence>
</process>