Petals Distribution

Better management of errors versus faults in JBI exchanges

Details

  • Type: Task Task
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: 4.2.4
  • Fix Version/s: None
  • Component/s: Components
  • Security Level: Public
  • Description:
    Hide

    The JBI specs talks of patterns that optionally have faults in them, but it also talk of errors and of error status.
    There is not much explanation about the role of errors, error status and when they can be set on an exchange.

    This ticket clarifies that, and describe what need to be done to improve the code of petals.

    Faults are messages (implementing NormalizedMessage and Fault interfaces).
    FAULT messages are defined in WSDL file in the same ways as OUT or IN messages: they respect an xml schema and that's all.
    When a fault is set on an exchange, the exchange has the status active.

    Errors are java exceptions: they are not defined in the WSDL as they are NOT business related, but technical errors!
    When an error is set on an exchange, the pattern does not continue, the exchange has the status error.

    To clarify, JBI can be partially considered as a WSDL extension: when comparing JBI with SOAP (another WSDL extension), the corresponding concept to JBI Errors are SOAPFault.
    Important: SOAPFault are not ALWAYS WSDL Fault, SOAPFault can represent technical errors (See overview of http://docs.oracle.com/cd/E24329_01/web.1211/e24965/faults.htm for details).
    As a side note, in that context, in the BC SOAP errors must be transformed to SOAPFault (potentially by hiding the stacktrace to hide implementation details!).

    Based on that, the following should be done/respected:

    Show
    The JBI specs talks of patterns that optionally have faults in them, but it also talk of errors and of error status. There is not much explanation about the role of errors, error status and when they can be set on an exchange. This ticket clarifies that, and describe what need to be done to improve the code of petals. Faults are messages (implementing NormalizedMessage and Fault interfaces). FAULT messages are defined in WSDL file in the same ways as OUT or IN messages: they respect an xml schema and that's all. When a fault is set on an exchange, the exchange has the status active. Errors are java exceptions: they are not defined in the WSDL as they are NOT business related, but technical errors! When an error is set on an exchange, the pattern does not continue, the exchange has the status error. To clarify, JBI can be partially considered as a WSDL extension: when comparing JBI with SOAP (another WSDL extension), the corresponding concept to JBI Errors are SOAPFault. Important: SOAPFault are not ALWAYS WSDL Fault, SOAPFault can represent technical errors (See overview of http://docs.oracle.com/cd/E24329_01/web.1211/e24965/faults.htm for details). As a side note, in that context, in the BC SOAP errors must be transformed to SOAPFault (potentially by hiding the stacktrace to hide implementation details!). Based on that, the following should be done/respected:
  • Environment:
    -

Issue Links

Activity

Victor NOËL made changes - Fri, 24 Apr 2015 - 15:04:04 +0200
Field Original Value New Value
Victor NOËL made changes - Fri, 24 Apr 2015 - 15:04:14 +0200
Assignee Christophe DENEUX [ cdeneux ] Victor NOËL [ vnoel ]
Victor NOËL made changes - Fri, 24 Apr 2015 - 15:04:43 +0200
Link This issue depends on PETALSCDK-130 [ PETALSCDK-130 ]
Victor NOËL made changes - Fri, 24 Apr 2015 - 15:04:56 +0200
Link This issue depends on PETALSBCSOAP-145 [ PETALSBCSOAP-145 ]
Victor NOËL made changes - Tue, 28 Apr 2015 - 12:38:23 +0200
Link This issue depends on PETALSSEJSR-28 [ PETALSSEJSR-28 ]
Victor NOËL made changes - Tue, 28 Apr 2015 - 12:46:16 +0200
Status New [ 10000 ] Open [ 10002 ]
Christophe DENEUX made changes - Fri, 1 May 2015 - 10:34:07 +0200
Link This issue depends on PETALSCDK-133 [ PETALSCDK-133 ]
Christophe DENEUX made changes - Fri, 1 May 2015 - 10:37:57 +0200
Fix Version/s 5.0.0 [ 10412 ]
Priority Blocker [ 1 ] Major [ 3 ]
Victor NOËL made changes - Thu, 21 May 2015 - 16:47:05 +0200
Status Open [ 10002 ] In Progress [ 10003 ]
Victor NOËL made changes - Thu, 21 May 2015 - 17:13:46 +0200
Link This issue depends on PETALSCDK-134 [ PETALSCDK-134 ]
Victor NOËL made changes - Fri, 22 May 2015 - 13:06:08 +0200
Link This issue depends on PETALSSEACTIVITI-3 [ PETALSSEACTIVITI-3 ]
Victor NOËL made changes - Fri, 22 May 2015 - 16:53:01 +0200
Link This issue depends on PETALSSEPOJO-22 [ PETALSSEPOJO-22 ]
Victor NOËL made changes - Fri, 22 May 2015 - 16:53:14 +0200
Link This issue depends on PETALSSEPOJO-22 [ PETALSSEPOJO-22 ]
Victor NOËL made changes - Fri, 22 May 2015 - 16:53:22 +0200
Link This issue depends on PETALSSEACTIVITI-3 [ PETALSSEACTIVITI-3 ]
Victor NOËL made changes - Fri, 22 May 2015 - 16:53:32 +0200
Link This issue depends on PETALSSEJSR-28 [ PETALSSEJSR-28 ]
Victor NOËL made changes - Fri, 22 May 2015 - 16:53:46 +0200
Link This issue depends on PETALSBCSOAP-145 [ PETALSBCSOAP-145 ]
Victor NOËL made changes - Wed, 15 Jul 2015 - 13:48:02 +0200
Link This issue depends on PETALSBCREST-2 [ PETALSBCREST-2 ]
Victor NOËL made changes - Wed, 15 Jul 2015 - 13:48:14 +0200
Link This issue depends on PETALSSEJSR-30 [ PETALSSEJSR-30 ]
Victor NOËL made changes - Wed, 15 Jul 2015 - 13:48:50 +0200
Link This issue depends on PETALSBCSOAP-145 [ PETALSBCSOAP-145 ]
Christophe DENEUX made changes - Thu, 16 Jul 2015 - 14:38:47 +0200
Link This issue depends on PETALSSEACTIVITI-3 [ PETALSSEACTIVITI-3 ]
Victor NOËL made changes - Fri, 2 Oct 2015 - 09:13:37 +0200
Status In Progress [ 10003 ] Resolved [ 10004 ]
Resolution Fixed [ 1 ]
Victor NOËL made changes - Fri, 2 Oct 2015 - 09:14:00 +0200
Status Resolved [ 10004 ] Open [ 10002 ]
Resolution Fixed [ 1 ]
Component/s Components [ 10270 ]
Victor NOËL made changes - Tue, 9 Feb 2016 - 11:56:29 +0100
Link This issue depends on PETALSBCSOAP-164 [ PETALSBCSOAP-164 ]
Victor NOËL made changes - Wed, 14 Sep 2016 - 10:22:23 +0200
Fix Version/s 5.0.0-M1 [ 10412 ]
Christophe DENEUX made changes - Wed, 28 Dec 2016 - 10:08:14 +0100
Link This issue depends on PETALSBCREST-6 [ PETALSBCREST-6 ]

People

Dates

  • Created:
    Fri, 24 Apr 2015 - 15:02:00 +0200
    Updated:
    Wed, 28 Dec 2016 - 10:08:14 +0100