Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Troubleshooting Primo/Voyager RTA

    • Article Type: General
    • Product: Primo
    • Product Version: 4
    • Relevant for Installation Type: Dedicated-Direct; Direct; Local;

     

    Desired Outcome Goal

    Troubleshoot connection flow so Primo RTA successfully connects to Voyager to retrieve and send back real-time availability information.

    Procedure

    Primo

    1. Run Deploy All (minus NR) in the BE.
    2. Make sure that all location codes are listed in the ILS_LIBRARY_CODES mapping table. Send the exported list to the customer to review/update.
    3. Make sure that the Primo institution has the API URL: Institution > Delivery Base URLs > API URL (http://<hostname>:7024)
    4. Make sure that the following checkbox is checked: Views Wizard > Brief Display > Locations > Real Time Availability: Brief and Full Results
    5. Make sure that the Primo institution has the following: Mapping Tables > Front End > Institution Base URLs:

    API - http://<hostname>:7014

    RTA - http://<hostname>:7014

    ILS - http://<hostname>:7024

    1. Mapping tables > OvP > ILS API Configuration (http://<hostname>:7014)
    2. Mapping tables > Back office > Real-Time Availability ("normalization_rules" method):

    Mapping set: MSU_VOYAGER

    Data Source Code: MSU_VOYAGER

     

    The Mapping Set Name for a given Data Source should MATCH the Normalization rule set used for the pipe that harvests that Data Source.

    The ‘Real-Time Availability (using normalization rules)’ mapping table is easy to miss and often not updated to reflect the name change and it causes problems.)

    1. Mapping Tables > Adaptors > RTA Adaptors ("normalization_rules" method)
    2. Mapping Tables > ILS Gateway > ILS Adaptors Templates (should have several "VOYAGER_8 / ALEPH_20" lines)


    Voyager

    1. Do a wget via ssh on the Primo FE for these ports to make sure they are open to Primo:

    http://<hostname>:7014

    http://<hostname>:7024

    http://<hostname>:7044

    1. Check that ports 7014, 7024, and 7044 are up and running from the Voyager server:
      1. Go to: /m1/shared/apache2/conf/ActivatedVirtualHosts ():
      2. grep Listen *

    xxxdb_vpds_httpd.conf:Listen 7044

    xxxdb_vprimo_httpd.conf:Listen 7024

    xxxdb_vwebv_httpd.conf:Listen 7008

    xxxdb_vxws_httpd.conf:Listen 7014

    1. Make an availability request directly to vxws in both IE and FireFox: http://<hostname>:7014/vxws/VoyagerAvailabilityService?op=publish_avail&doc_num=465687

    NOTE: doc_num = Voyager BIB_ID; should return xml:

    Example:

    <?xml version="1.0" encoding="UTF-8"?>

    <publish-avail>

    <OAI-PMH xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <ListRecords>

    <record>

    <header>

    <identifier>10</identifier>

    <datestamp>2013-04-01T15:01:39Z</datestamp>

    </header>

    <metadata>

    <record xmlns="http://www.loc.gov/MARC21/slim">

    <leader>00850cam a2200253I 4500</leader>

    <controlfield tag="001">10</controlfield>

    <controlfield tag="005">20010514163615.0</controlfield>

    <controlfield tag="008">720922|1948||||||| |||| ||eng|u</controlfield>

    <datafield ind2=" " ind1=" " tag="010">

    <subfield code="a">48005424</subfield>

    </datafield>

    etc......

    1. If connection is blocked or times out check that port 7014 is open.
    2. If Availability request return contains "<error_code>21</error_code>" ensure that in /m1/voyager/XXXdb/tomcat/vxws/ini/PrimoExp.ini; "DatabaseHost=" is set either to "localhost" for single server Voyager environments, or the IP/hostname of the Voyager database server for split server environments.
    3. If PrimoExp is correctly configured, check Voyager server uptime, and reboot the server if neccesary.
    1. Make sure that /m1/voyager/<customer>db/tomcat/vxws/ini/PrimoExp.ini has the following tags (Primo uses the 949 tag for RTA by default, but these should match whatever is in /m1/voyager/xxxdb/ini/PrimoExp-Publishing.ini):

    [Enrichment Tags]

    InsertAVATag=949

    InsertAUTTag=950

    InsertSUBTag=951

    InsertCRTag=952

    InsertDPSTag=953

    InsertEITMTag=954

     

    1. If one or more of the above tests reveal that vxws is only allowing connections from localhost (/m1/voyager/xxxdb/tomcat/conf/server.xml) e.g.:

    <!-- uncomment the following to limit access to connections from this machine only -->

    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1"/>

     

    There are two options to make vxws accessible to the Primo server. The customer will need to decide which option they prefer and configure vxws accordingly

    1. IP making requests can be added to the allow= parameter

    <!-- uncomment the following to limit access to connections from this machine only -->

    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1|123\.45\.67\.89"/>

    1. The Valve parameter can be commented out to leave vxws connections open to the world (must restart Tomcat services to take effect).

    <!-- uncomment the following to limit access to connections from this machine only -->

    <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1"/> -->

    Additional Information

    1. Symptoms of RTA not working:

    • Click on the Locations tab in the Brief View in Primo I cannot get results in the Locations tab in the Brief View in Primo; instead I get this error message: “There are no locations for this record”.
    • Check the RTA checkbox in Views Wizard > Brief Display > Locations > Real Time Availability: Brief and Full Results – the Locations tab errors out: but when I uncheck the checkbox (RTA disabled) the Locations tab displays correctly!
    • Click on the Locations tab in the Brief View in Primo the "(updating.....)" runs for a long time but the Locations tab doesn't display any content.
    • Click on the Locations tab in the Brief View in Primo I can see the Voyager locations, but they have no expand options


    2. For multi-server topologies, make sure the FEs can communicate to the BE using the servername and port designated in: Advanced > General > Install > primo_admin_base
    (remember RTA is calculated using Normalization rules, which are processed on the BE server.
    During RTA processing, the FE sends a webservice request to the BE server.)

     


    • Article last edited: 09-Feb-2016