blob: b166a0cf9509239319a21597f674e82fa7857f9f [file] [log] [blame]
<!--
~ 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.
-->
<!-- test intention
scenario: throws a fault with associated data of element type
differs from throw5 in that faultName is excluded.
outcome: catch with same variable element type should match fault
-->
<process name="throw6-2.0"
targetNamespace="http://ode/bpel/unit-test"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
xmlns="http://schemas.xmlsoap.org/ws/2004/03/business-process/"
xmlns:tns="http://ode/bpel/unit-test"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:test="http://ode/bpel/unit-test.wsdl"
suppressJoinFailure="yes">
<import importType="http://schemas.xmlsoap.org/wsdl/"
location="test.wsdl"
namespace="http://ode/bpel/unit-test.wsdl" />
<partnerLinks>
<partnerLink name="testPartnerLink"
partnerLinkType="test:TestPartnerLinkType"
myRole="me" />
</partnerLinks>
<variables>
<variable name="var1" messageType="test:TestMessage1"/>
<variable name="var2" element="test:TestElement"/>
</variables>
<sequence>
<receive
createInstance="yes"
name="startReceive"
partnerLink="testPartnerLink"
portType="test:TestPortType"
operation="testOperation"
variable="var1"/>
<scope>
<faultHandlers>
<catch faultVariable="faultVar"
faultMessageType="test:TestMessage1">
<!-- we do NOT want to be here -->
<assign>
<copy>
<from>'failure'</from>
<to>$var1/TestPart</to>
</copy>
</assign>
</catch>
<catch faultVariable="faultVar"
faultElement="test:TestElement">
<!-- we want to be here -->
<assign>
<copy>
<from>'success'</from>
<to>$var1/TestPart</to>
</copy>
</assign>
</catch>
<catchAll>
<assign>
<copy>
<from>'failure'</from>
<to>$var1/TestPart</to>
</copy>
</assign>
</catchAll>
</faultHandlers>
<sequence>
<assign>
<copy>
<from>$var1/ElementPart</from>
<to>$var2</to>
</copy>
</assign>
<throw faultName="test:foo" faultVariable="var2"/>
</sequence>
</scope>
<reply name="endReply"
operation="testOperation"
partnerLink="testPartnerLink"
portType="test:TestPortType"
variable="var1"/>
</sequence>
</process>