Protocol Error or Diagnostic?


Question from: Johan Cornels Zeeman
Question:
What is the correct target behavior when a Present request is received that includes the compSpec parameter, with no recordSyntax specified, and where selectAlternativeSyntax is false? This condition would appear to be an error (the origin hasn't specified a syntax, but has explicitly said use the specified syntax).

There does not appear to be an appropriate diagnostic for this condition. (Diagnostic 238, "Record not available in requested syntax", doesn't seem appropriate since there isn't a requested syntax. Diagnostic 106, "No abstract syntaxes agreed to for this record", also seems inappropriate, since it applies to a single record and not the entire present request.)

Should a new diagnostic be created? Should this be treated as a protocol error?

Response:
The target should feel free to treat this condition as a protocol error. If there were an appropriate diagnostic for this condition, the target should feel free, as an alternative, to fail the request supplying that diagnostic.

However, a new diagnostic should not be created for this condition. In general, a diagnostic should not be created for a situation where the client mis-interprets the protocol. (Otherwise we will be developing many diagnostics, for problems that, in the opinion of the ZIG, the diagnostic facility is not intended to solve.)

If you feel strongly that for this condition it's nicer to fail the request without terminating the session, diagnostic 106 is probably as good a diagnostic as any, however, as a non-surrogate diagnostic accompanying a failure response, it is akward since (as noted above) it is intended as a surrogate diagnostic. So rather than fail the request, the target could instead return surrogate diagnostic 106 for every record..


Status: This commentary is withdrawn (August 1999).
Library of Congress