ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mateusz Nowakowski (JIRA)" <j...@apache.org>
Subject [jira] Commented: (ODE-264) Catch fault mapping doesn't fulfill specification
Date Wed, 16 Apr 2008 15:41:21 GMT

    [ https://issues.apache.org/jira/browse/ODE-264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12589602#action_12589602
] 

Mateusz Nowakowski commented on ODE-264:
----------------------------------------

Any comment to my last comment ?

> Catch fault mapping doesn't fulfill specification
> -------------------------------------------------
>
>                 Key: ODE-264
>                 URL: https://issues.apache.org/jira/browse/ODE-264
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.1.1
>         Environment: FUSE ESB 3.3.0.2
>            Reporter: Mateusz Nowakowski
>             Fix For: 1.2
>
>
> In one my wsdls I have: 
> 	<message name="LowLevelServiceFault">
> 		<part name="body" element="soap-env:Fault"/>
> 	</message>
> 	<portType name="SomeServicePortType">
> 		<operation name="SomeServiceRQ">
> 			<input message="tns:SomeServiceInput"/>
> 			<output message="tns:SomeServiceOutput"/>
> 			<fault name="LowLevelServiceError" message="tns:LowLevelServiceFault"/>
> 		</operation>
> 	</portType>
> After invoke I've got fault message so I would like to catch fault using:
> <bpel:catch faultName="tns:LowLevelServiceError" faultVariable="LowLevelServiceFaultVariable"
faultElement="soap-env:Fault">
> but it doesn't work.
> According to specification is should work (Web Services Business Process Execution Language
Version 2.0 OASIS Standard11 April 2007, paragraph 12.5. Fault Handlers):
> In the case of faults thrown with associated data the fault MUST be caught as follows:
> 1.	If there is a <catch> construct with a matching faultName value that has a faultVariable
whose type matches the type of the runtime fault data then the fault is passed to the identified
<catch> construct (see the matching criteria definition below). 
> 2.	Otherwise if the fault data is a WSDL message type where the message contains a single
part defined by an element and there exists a <catch> construct with a matching faultName
value that has a faultVariable whose associated faultElement's QName matches the QName of
the runtime element data of the single WSDL message part, then the fault is passed to the
identified <catch> construct with the faultVariable initialized to the value in the
single part's element (see the matching criteria definition below).
> so according to the specification LowLevelServiceFaultVariable should be initialized
using "body" part.
> Fortunately such catch works:
> <bpel:catch faultName="tns:LowLevelServiceError" faultVariable="LowLevelServiceFaultVariable"
faultMessageType="tns:LowLevelServiceFault">

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message