When the proxy receives a Z39.50 Initialize Request from a Z39.50 client, it determines the backend server by the following rules:
If the InitializeRequest PDU from the
client includes an
otherInfo
element with OID
1.2.840.10003.10.1000.81.1, then the
contents of that element specify the server to be used, in the
usual YAZ address format (typically
tcp:hostname
:port
)
as described in
the Addresses section of the YAZ manual.
Otherwise, the Proxy uses the default server, if one was specified in the proxy configuration file. See the Section called target.
Otherwise, the Proxy uses the default server, if one was specified on the command-line with the -t option.
Otherwise, the proxy closes the connection with the client.
If the proxy receives an SRW/SRU request, the following rules are used.
If default target has Explain information with a database that matches the path of the HTTP request of SRW/SRU that backend server is used for SRW/SRU operation.
Otherwise the service will return HTTP 404 (Not found).
Note: We know it is stupid to only check for explain in default target. It means that it is only possible to offer one SRW/SRU server. We expect to improve that in the next version of the YAZ proxy.