Bob,
If there is an error in parsing, such as the document not
being well formed then this is reported as a SOAP Fault, not an ebXML
Error. It may not be possible to determine that the message
*is* an ebXML message for starters.
There are specific SOAP Faults that have been designed to
handle this sort of thing. The Client fault says:
The Client class of errors indicate that the message was
incorrectly formed or did not contain the appropriate information
in order to succeed. For example, the message could lack the proper
authentication or payment information. It is generally
an indication that the message should not be resent without
change. See also section 4.4 for a description of the SOAP
Fault detail sub-element.
If there is an error in the headers, such as an unexpected value, element
or attribute. Then this would be reported as an ebXML Error. SOAP is
not responsible for validation (in fact, validation of the SOAP envelope
is not required), but it seems that if a validating parser is used
by the SOAP processor, and a validation error is caught, then things
become a bit tricky. I think that it should be reported as a SOAP
Client Fault since it isn't likely that the SOAP Processor would
dispatch a message if there were validation errors. I suppose that
as long as it was well formed, that it might dispatch and let the
handlers do their job of reporting Header errors.
SOAP 1.2 will clear this confusion up. You can check out the
SOAP1.2 draft for details of the clarification. The MustUnderstand
fault code is a good example of how a SOAP Fault can be used to
report on problems dealing with headers.
Cheers,
Chris
Robert D Kearney wrote:
>
> I'm wondering if the parsing of the ebXML Header (contained in the SOAP
> Header) is a SOAP or ebXML function. Specifically, if the ebXML
> information cannot be parsed correctly, should this be reported as a SOAP
> Fault, or an ebXML Error?
>
> I'm hoping the latter, since otherwise, there may be a conflict with the
> SOAP specs, which indicate that any SOAP Fault appear in the SOAP Body, and
> the detail section of the SOAP Fault has this comment:
> "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."
>
> Bob
>
> ----------------------------------------------------------------
> To subscribe or unsubscribe from this elist use the subscription
> manager: <http://lists.oasis-open.org/ob/adm.pl>