Troubleshooting Koha as a Z39.50 server
From Koha Wiki
After you have configured Koha to act as a Z39.50/SRU server, there are some problems you might run into. Here are some tips for figuring them out.
Is your config right?
If you want to make public Z39.50 server which is accessible from Internet, you need these bits, and they need to be uncommented on /etc/koha/sites/library/koha-conf.xml:
<listen id="publicserver">tcp:@:nnn</listen> <server id="publicserver" listenref="publicserver">...</server> <serverinfo id="publicserver">...</serverinfo>
Where nnn is the port you want Z39.50 to be available on (usually 210).
Is zebra running?
ps aux | grep zebra
Is the right port open in your firewall?
sudo netstat -pn --udp --listen
Did you set a password for zebra?
If so, you need to use it when you search.
Can you connect with yaz-client?
Here is quick example when using port 210 and ccl syntax which is shown in Koha queries to Zebra:
dpavlin@koha-dev:~$ yaz-client -c /etc/koha/zebradb/ccl.properties localhost:210/biblios Connecting...OK. Sent initrequest. Connection accepted by v3 target. ID : 81 Name : Zebra Information Server/GFS/YAZ Version: 4.1.7 c43e561fdfe12989a6040163dae0e28ba0a02453 Options: search present delSet triggerResourceCtrl scan sort extendedServices namedResultSets Elapsed: 0.001445 Z> querytype ccl2rpn Z> find (kw,wrdl,rtrn=human ) not Suppress=1 Sent searchRequest. Received SearchResponse. Search was a success. Number of hits: 1935, setno 1 SearchResult-1: term= human cnt=1935, term= 1 cnt=21 records returned: 0 Elapsed: 0.025643 Z> show
Zebra creates log files in which you can grep for errors using something like:
dpavlin@koha-dev:~$ grep ERROR /var/log/koha/koha-zebradaemon-output.log 18:31:51-29/03 zebrasrv(1) 60cae1f5 [request] Init ERROR 1011 ID:81 Name:ZOOM-C/YAZ Version:4.1.7 c43e561fdfe12989a6040163dae0e28ba0a02453
1011 in Bib-1 Diagnostics code for which you can find descriptions at http://www.loc.gov/z3950/agency/defns/bib1diag.html
In our example, it's bad userid or password.