Move XISBN service to separate file, add failure handler, and add test service