[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [no subject]
1. Section 3.6 of WSDL 1.1 makes clear that for regular SOAP faults (as
specified by the wsdl-soap:fault) the wsdl:fault message provides the
contents of the soap:detail. The it goes on to say:
"The optional headerfault elements which appear inside soap:header and have
the same syntax as soap:header) allows specification of the header type(s)
that are used to transmit error information pertaining to the header
defined by the soap:header. The SOAP specification states that errors
pertaining to headers must be returned in headers, and this mechanism
allows specification of the format of such headers."
The last sentence is however a bit inaccurate (:-( ) since all that Section
4.4 of the SOAP 1.1 spec says is that fault detail pertaining to header
generated faults should appear in the header - it does not preclude a
soap:fault from being sent, just that it may not have a soap:detail
element; the absence of soap:detail is used to indicate that fault was not
related to the processing of the soap:body. Whatever detail needs to be
sent goes in a header. Nothing implies that the soap:detail element should
be used there. See next.
2. SOAP 1.1 in Section 4.4.
"The detail element is intended for carrying application specific error
information related to the Body element. It MUST be present if the contents
of the Body element could not be successfully processed. It MUST NOT be
used to carry information about error information belonging to header
entries. Detailed error information belonging to header entries MUST be
carried within header entries.
The absence of the detail element in the Fault element indicates that the
fault is not related to processing of the Body element. This can be used to
distinguish whether the Body element was processed or not in case of a
fault situation."
4. For example, the BP10 explicitly recommends that a soap:fault (within
the soap:body) to be sent back in some cases when the error is generated by
header processing:
"R1027 A RECEIVER MUST generate a "soap:MustUnderstand" fault when a
message contains a mandatory header block (i.e., one that has a
soap:mustUnderstand attribute with the value "1") targeted at the receiver
(via soap:actor) that the receiver does not understand."
[ 3. On a different note, observe also that the BP10 recommends not
tinkering with faultcodes:
R1004 When a MESSAGE contains a faultcode element the content of that
element SHOULD be one of the fault codes defined in SOAP 1.1 or a namespace
qualified fault code ]
|---------+---------------------------->
| | "Satish Thatte" |
| | <satisht@microsof|
| | t.com> |
| | |
| | 01/13/2005 05:48 |
| | PM |
|---------+---------------------------->
>-------------------------------------------------------------------------------------------------------------------------------------|
| |
| To: "Liu, Kevin" <kevin.liu@sap.com>, "Kartha, Neelakantan" <[email protected]>, "bpel spec" |
| <wsbpel-spec-edit@lists.oasis-open.org> |
| cc: Francisco Curbera/Watson/IBM@IBMUS |
| Subject: RE: [wsbpel-spec-edit] Proposed text for issue 170 (RESEND) |
>-------------------------------------------------------------------------------------------------------------------------------------|
I still persist in hoping that we are misreading section 3.6 of the WSDL
spec. It is admittedly not super clear. Paco, any thoughts on whether the
mention of the Detail element is as narrowly binding as we seem to be
interpreting here. The inconsistency with headerfault is making me wonder.
From: Liu, Kevin [mailto:kevin.liu@sap.com]
Sent: Thursday, January 13, 2005 10:32 AM
To: Satish Thatte; Kartha, Neelakantan; bpel spec
Subject: RE: [wsbpel-spec-edit] Proposed text for issue 170 (RESEND)
Hi Satish,
After thought a little bit more on this, I realize I was wrong about
headerfault.
The wsdl1.1 soap binding is very vague on how headerfault should be
defined/used, but reasonable guess would be put the whole soap:fault
structure under soap:header. If that's the case, even one can define a
message that contains elements such as "faultcode", "faultstring" etc,
these elements are not in the soap namespace.
[Satish Thatte] ?? The SOAP fault elements are indeed in the standard SOAP
envelop namespace. But of course one can define a message part with the
whole SOAP-ENV:Fault GED as the element specification.
Basically, Satish was right that we have exactly the same issue with
headerfault.
As that said, I think the text below still works fine, it covers both body
fault and headerfault.
Best Regards,
Kevin
-----Original Message-----
From: Satish Thatte [mailto:satisht@microsoft.com]
Sent: Thursday, Jan 13, 2005 09:19 AM
To: Liu, Kevin; Kartha, Neelakantan; bpel spec
Subject: RE: [wsbpel-spec-edit] Proposed text for issue 170 (RESEND)
Thanks Kevin. It is strange that this problem was created in such an
inconsistent way. If you are going to mess things up you should at least do
so thoroughly. Then are a few grammatical nits in the text below but
otherwise we are ready to go I think.
From: Liu, Kevin [mailto:kevin.liu@sap.com]
Sent: Tuesday, January 11, 2005 11:16 AM
To: Kartha, Neelakantan; bpel spec
Subject: RE: [wsbpel-spec-edit] Proposed text for issue 170 (RESEND)
Hi Kartha,
As promised I have just checked the wsdl1.1 spec and here is my take on
170:
1. the text proposed below looks fine to me
2. section 11.4 is more appropriate than section 13.4 since the text is
talking about fault variables, not fault handling
3. As for the headerfault problem Satish mentioned this morning, it's
actually not an issue. Unlike soapfault which only allows mapping a
wsdl:fault message to faut detail element, Headerfault can point to an
abstract message that explicitly define faultcode, faultactor, faultstring,
and faultDetail
Hope this helps.
Best Regards,
Kevin
-----Original Message-----
From: Kartha, Neelakantan [mailto:N_Kartha@stercomm.com]
Sent: Tuesday, Jan 11, 2005 09:54 AM
To: bpel spec
Subject: [wsbpel-spec-edit] Proposed text for issue 170 (RESEND)
Here is the proposed text for 170 (resent, as requested by Satish).
Best,
Kartha
-----Original Message-----
From: Kartha, Neelakantan [mailto:N_Kartha@stercomm.com]
Sent: Friday, December 03, 2004 1:20 PM
To: bpel spec
Cc: Satish Thatte; ygoland@bea.com
Subject: [wsbpel-spec-edit] Proposed text for issue 170
Here is the proposed text (which is a modification Yaron's text
with elements of my original text). Both of the latter
are also included in this message for easy comparison.
Implementer's Note: BPEL treats faults generically, without respect
to
which particular transport they have been bound to. Normally, when
sending or receiving a fault, a BPEL would specify generic fault
information in the abstract fault message and then a WSDL 1.1
binding
would transform that generic information into/from specific error
information unique to the transport being bound to. In the case of
SOAP
this would mean providing a mapping between generic fault data and
the sub elements of of the SOAP Fault element, namely the faultcode,
faultstring, faultactor and detail elements. However the WSDL 1.1
standard SOAP binding explicitly precludes
mapping any information from an abstract fault message to a SOAP
Fault other than the contents of the detail element. In other words
there is no
standard way to specify information in a BPEL that will eventually
be
bound into the faultcode, faultstring and faultactor elements of a
SOAP
Fault element. This specification does not provide a resolution for
this problem.
Location: I am fine with 13.4 or 11.4 Thoughts?
Here is my original text (written independently of Yaron's text):
BPEL does not support any way of getting or setting faultcode,
faultstring or faultactor in sending, receiving, throwing or
catching a fault. The following provides the rationale: Recall that
faultcode, faultstring and fautlactor are sub elements iof the Fault
element as defined by the SOAP 1.1 standard. The definition of a
SOAP fault binding according to WSDL 1.1 specification only provides
for binding to the detail element (a sub element of the SOAP Fault
element) and not to the SOAP Fault element itself. Because a BPEL
message variable is defined via WSDL definitions, it can only
contain the content of a detail element, not faultcode, faultstring
or faultactor.
I was planning to include it in section 13.4 (right above the start
of section 13.4.1).
Here is Yaron''s text:
Insert after the paragraph in section 11.4 that begins "Note that
the
<reply> activity corresponding to a given request has two potential
forms."
Implementer's Note: BPEL treats faults generically, without respect
to
which particular transport they have been bound to. Normally, when
sending or receiving a fault, a BPEL would specify generic fault
information in the abstract fault message and then a WSDL 1.1
binding
would transform that generic information into/from specific error
information unique to the transport being bound to. In the case of
SOAP
this would mean providing a mapping between generic fault data and
SOAP's fault code, fault string, fault actor and fault description
values. However the WSDL 1.1 standard SOAP binding explicitly
precludes
mapping any information from an abstract fault message to a bound
SOAP
fault other than the fault description. In other words there is no
standard way to specify information in a BPEL that will eventually
be
bound into the fault code, fault string and fault actor values of a
SOAP
fault. This specification does not provide a resolution for this
problem.
Best Regards,
Kartha
n_kartha@stercomm.com
469-524-2639
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]