OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel-spec-edit message

[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" <N_Kartha@stercomm.com>, "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]