Voyager vxws throws exception; Primo My Account shows 0 loans
- Product: Voyager
- Product Version: 8.2.0
Problem Symptoms
- Loan information in Primo shows 0 loans
- When call is made using data for a specific loan, vxws throws exception:
SEVERE: Servlet.service() for servlet [DLFWebService] in context with path [/vxws] threw exception
java.lang.NullPointerException
at com.endinfosys.voyager.websvc.populator.StatusBuilder.substituteChargedItemTitle(StatusBuilder.java:580)
at com.endinfosys.voyager.websvc.populator.StatusBuilder.getChargedItemTitle(StatusBuilder.java:561)
at com.endinfosys.voyager.websvc.populator.LoansDataPopulator.populateLoanDetailInfo(LoansDataPopulator.java:226)
at com.endinfosys.voyager.websvc.populator.LoansDataPopulator.getLoanType(LoansDataPopulator.java:205)
at com.endinfosys.voyager.websvc.populator.LoansDataPopulator.populateLoansEntry(LoansDataPopulator.java:182)
at com.endinfosys.voyager.websvc.populator.LoansDataPopulator.populateLoansResponseMsg(LoansDataPopulator.java:117)
at com.endinfosys.voyager.websvc.populator.LoansDataPopulator.createLoansResponse(LoansDataPopulator.java:85)
at com.endinfosys.voyager.websvc.LoansResourceService.getPatronLoanData(LoansResourceService.java:150)
at com.endinfosys.voyager.websvc.LoansResourceService.getPatronLoans(LoansResourceService.java:84)
Cause
The exl_default/vxws.properties file is updated at upgrade; the vxws.properties file in the /eng directory is not a fresh copy from /exl_default with customizations applied, so there are lines missing.
Resolution
- cd /m1/voyager/xxxdb/tomcat/vxws/context/vxws/ui/eng
- Open vxws.properties for editing.
- Find this line: page.myAccount.reqPending.availableForPickup=Available for pickup
- Add these missing lines after the line above:
###################################################################################
# Item information substitution tokens to display the codes' corresponding
# information in the Item column on the Charged Item section of My Account page
# \\t -> the item's title
# \\i -> the item's enumeration, chronology and year
# \\n -> the item's copy number
# \\c -> the item's call number
# \\b -> the item's barcode
# \\l -> the item's location
# \\a -> the item's author
###################################################################################
page.myAccount.chargedItem.itemInfo=\\t
###################################################################################
# Item title substitution tokens to display the item's title, enum, chron, year
# and copy number information in the item title field of patron requestItem
# elements of the circulation actions services
# \\t -> the item's title
# \\i -> the item's enumeration, chronology and year
# \\n -> the item's copy number
###################################################################################
page.myAccount.reqPending.itemInfo=\\t \\i
###################################################################################
# Item due date substitution tokens to display the codes' corresponding
# information in the Due Date column on the Charged Item section of My Account page
# \\d -> the item's due date
# \\e -> the item's due date, if the due date is not today
# \\t -> the item's due time
# \\u -> the item's due time, if the due date is today
###################################################################################
page.myAccount.chargedItem.dueDate=\\d \\t
Additional Information
Upon upgrade, it is important to start with a fresh, updated copy of files in /exl_default before applying customizations.
- Article last edited: 08-Oct-2013