General Diagnostic Container

December 1999
This definition has been developed because there is no clear service-independent and status-independent mechanism for a target to provide operation-level diagnostics. Most Z39.50 services define an ad-hoc diagnostic mechanism.

Specifically, this definition was developed in response to the observation that Z39.50 Encapsulation imposes diagnostic requirements that this ad-hoc approach is ill-equipped to meet. For example, suppose one or more PDUs are encapsulated within a Search, the Search executes sucessfully, but the target choose not to execute the encapsulated PDUs. The target is expected to include in the response to the Search PDU an appropriate diagnostic, for example: "specified sequence of PDUs is not supported". The diagnostic mechanism defined for Search does not readily accomodate a diagnostic of this nature, particularly where the Search status is 'success'.

The purpose of this definition is to provide a well-known object identifier that a client will recognize to mean "diagnostics inside", even though the client may not recognize any of the object identifiers (and consequently any of the diagnostics) contained within.

This format is intended for use within otherInfo (or by simulation of otherInfo using the userInformationField; see implementor agreement: Use of Init Parameters for Negotiation and User Information ). It is not intended to supercede diagnostic mechanisms already defined for individual services, nor is it intended to supercede the implementor agreement: Returning diagnostics in an InitResponse.



GeneralDiagnosticContainer 
{Z39-50-diagnosticFormat generalDiagnosticContainer (4)} DEFINITIONS ::=
BEGIN
IMPORTS DiagRec, DefaultDiagFormat FROM Z39-50-APDU-1995;

DiagnosticContainer ::=  SEQUENCE OF DiagRec

END