diff --git a/module/VuFind/src/VuFind/ILS/Driver/Symphony.php b/module/VuFind/src/VuFind/ILS/Driver/Symphony.php index dcf55934e5df73fbeb888148f4542e68be4ece7b..6305064946f21d2f8e805e84dd7039d2829eb352 100644 --- a/module/VuFind/src/VuFind/ILS/Driver/Symphony.php +++ b/module/VuFind/src/VuFind/ILS/Driver/Symphony.php @@ -1089,18 +1089,28 @@ class Symphony extends AbstractBase 'cat_password' => $password, ); - $resp = $this->makeRequest( - 'patron', - 'lookupMyAccountInfo', - array( - 'includePatronInfo' => 'true', - 'includePatronAddressInfo' => 'true' - ), - array( - 'login' => $username, - 'password' => $password, - ) - ); + try { + $resp = $this->makeRequest( + 'patron', + 'lookupMyAccountInfo', + array( + 'includePatronInfo' => 'true', + 'includePatronAddressInfo' => 'true' + ), + array( + 'login' => $username, + 'password' => $password, + ) + ); + } catch (SoapFault $e) { + $unableToLogin = 'ns0:com.sirsidynix.symws.service.' + . 'exceptions.SecurityServiceException.unableToLogin'; + if ($e->faultcode == $unableToLogin) { + return null; + } else { + throw $e; + } + } $patron['id'] = $resp->patronInfo->$usernameField; $patron['library'] = $resp->patronInfo->patronLibraryID;