diff --git a/src/core/findUserPdl.js b/src/core/findUserPdl.js index 3c5bba7e081396975d3e13af9793b5ac93ee0332..7fdad2da1c8477e756204afefe99151dce6bcfb4 100644 --- a/src/core/findUserPdl.js +++ b/src/core/findUserPdl.js @@ -32,50 +32,56 @@ async function findUserPdl( apikey: apiAuthKey, } - const { response } = await soapRequest({ - url: url, - headers: sgeHeaders, - xml: rechercherPoint( - appLogin, - lastname, - postalCode, - inseeCode, - address, - escalierEtEtageEtAppartement - ), - }).catch(err => { - const errorMessage = 'Error while finding user pdl : ' + err.message - log('error', errorMessage) - Sentry.captureException(errorMessage, { - tags: { - section: 'findUserPdl', - }, - extra: { - address: address, - postalCode: postalCode, - escalierEtEtageEtAppartement: escalierEtEtageEtAppartement, - }, + try { + const { response } = await soapRequest({ + url: url, + headers: sgeHeaders, + xml: rechercherPoint( + appLogin, + lastname, + postalCode, + inseeCode, + address, + escalierEtEtageEtAppartement + ), + }).catch(err => { + const errorMessage = 'Error while finding user pdl : ' + err.message + log('error', errorMessage) + Sentry.captureException(errorMessage, { + tags: { + section: 'findUserPdl', + }, + extra: { + address: address, + postalCode: postalCode, + escalierEtEtageEtAppartement: escalierEtEtageEtAppartement, + }, + }) + throw new Error(errors.VENDOR_DOWN) }) - throw new Error(errors.VENDOR_DOWN) - }) - const parsedReply = await xml2js.parseStringPromise(response.body, { - tagNameProcessors: [parseTags], - valueProcessors: [parseValue], - explicitArray: false, - }) + const parsedReply = await xml2js.parseStringPromise(response.body, { + tagNameProcessors: [parseTags], + valueProcessors: [parseValue], + explicitArray: false, + }) - try { - return parseUserPdl(parsedReply) - } catch (error) { - log('warn', 'Error while parsing user PDL: ' + error) - if (parsedReply.Envelope.Body.Fault) { - log( - 'warn', - `Enedis issue ${parsedReply.Envelope.Body.Fault.detail.erreur.resultat.$.code}: ${parsedReply.Envelope.Body.Fault.faultstring}` - ) + try { + return parseUserPdl(parsedReply) + } catch (error) { + log('warn', 'Error while parsing user PDL: ' + error) + if (parsedReply.Envelope.Body.Fault) { + log( + 'warn', + `Enedis issue ${parsedReply.Envelope.Body.Fault.detail.erreur.resultat.$.code}: ${parsedReply.Envelope.Body.Fault.faultstring}` + ) + } + return null } - return null + } catch (error) { + log('error', 'Error while findingUserPdl', error) + Sentry.captureException(error) + throw new Error(errors.VENDOR_DOWN) } }