Bug 964987 - BPEL Catch faultMessageType attribute should be optional
BPEL Catch faultMessageType attribute should be optional
Product: JBoss Fuse Service Works 6
Classification: JBoss
Component: BPEL Integration (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: DR5
: 6.0.0
Assigned To: Gary Brown
Jiri Sedlacek
Depends On:
  Show dependency treegraph
Reported: 2013-05-20 05:09 EDT by Ivo Bek
Modified: 2015-08-02 19:43 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-05-22 10:13:53 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

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

  None (edit)
Description Ivo Bek 2013-05-20 05:09:06 EDT
Description of problem:

catch element specification says:

<catch faultName="QName"?
         ( faultMessageType="QName" | faultElement="QName" )? >*

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:

Actual results:

Expected results:

Additional info:
Comment 1 Ivo Bek 2013-05-20 06:44:16 EDT
Created attachment 750495 [details]
loan approval - this archive contains the loan_approval.bpel
Comment 2 Gary Brown 2013-05-20 07:56:05 EDT
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"

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 09:23:39 EDT
Created attachment 750570 [details]
Example showing the workaround with fault name set.
Comment 4 Ivo Bek 2013-05-22 10:11:12 EDT
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.