⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 teststaticpick.bpel

📁 bpel执行引擎用来执行bpel业务流程
💻 BPEL
字号:
<!--
	~ 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 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://docs.oasis-open.org/wsbpel/2.0/process/executable ../../../../../../../bpel-schemas/src/main/resources/wsbpel_executable.xsd"
         xmlns:tns="http://ode/bpel/unit-test/TestStaticPick"
         xmlns:wns="http://ode/bpel/unit-test/TestStaticPick.wsdl"
         xmlns:prb="http://ode/bpel/unit-test/ProbeService.wsdl"
         xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
         name="TestStaticPick"
         targetNamespace="http://ode/bpel/unit-test/TestStaticPick"
         queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
         expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
         suppressJoinFailure="yes">

    <import location="TestStaticPick.wsdl"
            namespace="http://ode/bpel/unit-test/TestStaticPick.wsdl"
            importType="http://schemas.xmlsoap.org/wsdl/" />
    <import location="../ProbeService/probeService.wsdl"
            namespace="http://ode/bpel/unit-test/ProbeService.wsdl"
            importType="http://schemas.xmlsoap.org/wsdl/"/>

    <!-- Unit test pick with blocking static key -->

    <partnerLinks>
        <partnerLink name="request1" partnerLinkType="wns:TestStaticPick1Request" myRole="TestStaticPick1Service"/>
        <partnerLink name="probe" partnerLinkType="wns:probeRequest" partnerRole="probeService" initializePartnerRole="yes"/>
    </partnerLinks>

    <variables>
        <variable name="request"
                  messageType="wns:requestMessage"/>
        <variable name="probeInput"
                  messageType="prb:probeMessage"/>
        <variable name="reply"
                  messageType="wns:replyMessage"/>
    </variables>

    <correlationSets>
        <correlationSet name="testCorr1" properties="wns:testProbeID"/>
    </correlationSets>

    <sequence>
        <receive name="receive1" partnerLink="request1"
                 portType="wns:TestStaticPick1PT"
                 operation="request" variable="request"
                 createInstance="yes">
            <correlations>
                <correlation set="testCorr1" initiate="yes"/>
            </correlations>
        </receive>

        <assign name="assign1">
            <copy>
                <from variable="request" property="wns:testProbeID"/>
                <to variable="probeInput" part="probeName"/>
            </copy>
            <copy>
                <from variable="request" part="requestText"/>
                <to variable="probeInput" part="probeData"/>
            </copy>
        </assign>


        <assign>
            <copy>
                <from>
                    <literal><![CDATA[block for next message]]></literal>
                </from>
                <to variable="probeInput" part="probeName"/>
            </copy>
        </assign>

        <invoke name="probe" partnerLink="probe"
                portType="prb:probeMessagePT"
                operation="probe"
                inputVariable="probeInput"
                outputVariable="probeInput">
        </invoke>

        <pick name="testPick">
            <onMessage partnerLink="request1"
                       portType="wns:TestStaticPick1PT" operation="continue1" variable="request">
                <correlations>
                    <correlation set="testCorr1"/>
                </correlations>
                <sequence>
                    <assign>
                        <copy>
                            <from>
                                <literal><![CDATA[pick branch one invoked]]></literal>
                            </from>
                            <to variable="probeInput" part="probeName"/>
                        </copy>
                    </assign>

                    <invoke name="probe" partnerLink="probe"
                            portType="prb:probeMessagePT"
                            operation="probe"
                            inputVariable="probeInput"
                            outputVariable="probeInput">
                    </invoke>

                    <assign>
                        <copy>
                            <from>
                                <literal><![CDATA[process complete]]></literal>
                            </from>
                            <to variable="probeInput" part="probeName"/>
                        </copy>
                    </assign>

                    <invoke name="probe" partnerLink="probe"
                            portType="prb:probeMessagePT"
                            operation="probe"
                            inputVariable="probeInput"
                            outputVariable="probeInput">
                    </invoke>

                    <assign name="assign2">
                        <copy>
                            <from variable="probeInput" part="probeName"/>
                            <to variable="reply" part="replyID"/>
                        </copy>
                        <copy>
                            <from variable="probeInput" part="probeData"/>
                            <to variable="reply" part="replyText"/>
                        </copy>
                    </assign>

                    <reply name="reply" partnerLink="request1" portType="wns:TestStaticPick1PT"
                           operation="continue1" variable="reply">
                    </reply>

                </sequence>
            </onMessage>
            <onMessage partnerLink="request1"
                       portType="wns:TestStaticPick1PT" operation="continue2" variable="request">
                <correlations>
                    <correlation set="testCorr1"/>
                </correlations>
                <sequence>
                    <assign>
                        <copy>
                            <from>
                                <literal><![CDATA[pick branch two invoked]]></literal>
                            </from>
                            <to variable="probeInput" part="probeName"/>
                        </copy>
                    </assign>

                    <invoke name="probe" partnerLink="probe"
                            portType="prb:probeMessagePT"
                            operation="probe"
                            inputVariable="probeInput"
                            outputVariable="probeInput">
                    </invoke>

                    <assign>
                        <copy>
                            <from>
                                <literal><![CDATA[process complete]]></literal>
                            </from>
                            <to variable="probeInput" part="probeName"/>
                        </copy>
                    </assign>

                    <invoke name="probe" partnerLink="probe"
                            portType="prb:probeMessagePT"
                            operation="probe"
                            inputVariable="probeInput"
                            outputVariable="probeInput">
                    </invoke>
                    <assign name="assign2">
                        <copy>
                            <from variable="probeInput" part="probeName"/>
                            <to variable="reply" part="replyID"/>
                        </copy>
                        <copy>
                            <from variable="probeInput" part="probeData"/>
                            <to variable="reply" part="replyText"/>
                        </copy>
                    </assign>

                    <reply name="reply" partnerLink="request1" portType="wns:TestStaticPick1PT"
                           operation="continue2" variable="reply">
                    </reply>

                </sequence>
            </onMessage>
        </pick>
    </sequence>
</process>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -