Bug 964987 - BPEL Catch faultMessageType attribute should be optional
Summary: BPEL Catch faultMessageType attribute should be optional
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: JBoss Fuse Service Works 6
Classification: JBoss
Component: BPEL Integration
Version: 6.0.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: DR5
: 6.0.0
Assignee: Gary Brown
QA Contact: Jiri Sedlacek
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-05-20 09:09 UTC by Ivo Bek
Modified: 2015-08-02 23:43 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-05-22 14:13:53 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
loan approval - this archive contains the loan_approval.bpel (55.80 KB, application/x-zip-compressed)
2013-05-20 10:44 UTC, Ivo Bek
no flags Details
Example showing the workaround with fault name set. (8.74 KB, application/x-java-archive)
2013-05-20 13:23 UTC, Gary Brown
no flags Details

Description Ivo Bek 2013-05-20 09:09:06 UTC
Description of problem:

catch element specification says:

<catch faultName="QName"?
         faultVariable="BPELVariableName"?
         ( faultMessageType="QName" | faultElement="QName" )? >*
         activity
</catch>

As you can see, faultMessageType should be optional but If I don't set it, BPEL engine throws following exception in deployment time:

loan_approval.bpel:28: error: [VariableDeclMissingType] Declaration of variable "error" does not specify the required type (either MessageType or ElementType).

When I set the faultMessageType, the process is deployed and everything works well.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Ivo Bek 2013-05-20 10:44:16 UTC
Created attachment 750495 [details]
loan approval - this archive contains the loan_approval.bpel

Comment 2 Gary Brown 2013-05-20 11:56:05 UTC
It appears that if the faultName attribute is added back on the catch element, that it will compile. For example,

      <catch faultName="ans:loanProcessFault" faultVariable="error"
						faultElement="ens:integer">

So it looks like there is an underlying bug, as it should be possible to just specify the variable and element type, but this may provide a workaround in the interim.

Ivo, could you confirm whether this workaround works for you?

Comment 3 Gary Brown 2013-05-20 13:23:39 UTC
Created attachment 750570 [details]
Example showing the workaround with fault name set.

Comment 4 Ivo Bek 2013-05-22 14:11:12 UTC
As Gary pointed, the issue was caused by missing xmlns:ens="http://example.com/loan-approval/xsd/error-messages/" namespace. The second change to make it work is to remove attribute "part" in the copy element because the non-message variable "error" doesn't have any parts.


Note You need to log in before you can comment on or make changes to this bug.