RE: Issue #170 proposal - referencing to missing data

I don't think this works. What if we have an optional header block using
the SOAP 1.2 encoding - does this mean that the receiver now MUST
resolve the references regardless of whether it wants to ignore the
block or not in order to be compliant? How is this possible to provide
test cases for and verify correctness?

In general, dealing with *any* part of a serialization depends on the
semantics of the parameters serialized but SOAP 1.2 has no understanding
of the semantics of application-defined data.

What we might want to consider is to provide a fault code that a SOAP
receiver can use IF the semantics of the encoded data calls for
dereferencing of an href and the data cannot be resolved.

Hmm, your proposal brings up another issue which is the use of that
"detail" element in that the proposed usage is not consistent with the
definition of how and when to use the detail element. I think in general
one needs more context as to why and when the reference could not be
resolved - I would tend to leave this to the application.

As a result I suggest rewording your proposal as follows:

"The value of the href attribute is of type anyURI. If the semantics of
the encoded data requires that an href value if dereferenced and the
SOAP Node is incapable for whatever reason to dereference the URI, a
SOAP Fault MUST be generated with the faultcode enc:BadReference."

Henrik Frystyk Nielsen
mailto:henrikn@microsoft.com

>---------- begin
> The value of the href attribute is of type anyURI. If its 
>value points to an element with an ID (the URI is in the form 
>'#<id>'), the Encoding processor MUST attempt to resolve the 
>reference.  If the value points to an external document (like 
>an attachment or a WWW document, the processor SHOULD attempt 
>to resolve the URI if it is capable of doing so.  In case the 
>URI in the href attribute is not resolved successfully - 
>either because the reference was unresolvable by the processor 
>or because the processor did not attempt to resolve the 
>reference - a Fault MUST be generated with the faultcode 
>enc:UnresolvedReference. The detail of the generated fault 
>SHOULD contain an element enc:UnresolvedReference containing 
>the value of the unresolved reference URI.
>---------- end

Received on Monday, 3 December 2001 12:31:22 UTC