Anomalie #14315
Mis à jour par Laurent GIOVANNONI il y a plus de 4 ans
En travaillant sur un ticket support SITIV concernant des documents ne revenant dans Maarch Courrier suite à l'exécution du batch retrieveMailFromExternalSignatoryBook, je me suis rendu compte de deux anomalies : 1. si un courrier génère une erreur dans le batch, tous les courriers en attente de retour se retrouvent bloqués voici le patch associé pour ne pas bloquer l'ensemble des courriers : ~~~ php [maarch@dcmaarch-prod MaarchCourrier]$ batch]$ git diff modules/visa/class/IParapheurController.php ../class/IParapheurController.php diff --git a/modules/visa/class/IParapheurController.php b/modules/visa/class/IParapheurController.php index 7b0ee3b..282b84f 7b0ee3b..9a5d7e9 100755 --- a/modules/visa/class/IParapheurController.php +++ b/modules/visa/class/IParapheurController.php @@ -23,7 +23,7 -232,9 +232,20 @@ class IParapheurController 'options' => [ CURLOPT_SSLCERT => $config['data']['certPath'], CURLOPT_SSLCERTTYPE => $config['data']['certType'], - CURLOPT_SSL_VERIFYPEER => 'false', + CURLOPT_SSL_VERIFYPEER => FALSE, CURLOPT_USERPWD => $config['data']['userId'] . ':' . $config['data']['password'], ], 'delete_header' => true @@ -232,13 +232,25 @@ class IParapheurController echo $curlReturn['error']; return false; } - - $response = $curlReturn['response']->children('http://schemas.xmlsoap.org/soap/envelope/')->Body->children('http://www.adullact.org/spring-ws/iparapheur/1.0 $curlReturn['response']->children('http://schemas.xmlsoap.org/soap/envelope/')->Body->children('http://www.adullact.org/spring-ws/iparaphe - +//var_dump($curlReturn); +//var_dump($curlReturn);exit; +try { + if (is_bool($curlReturn['response']) === true) { + echo "error" . PHP_EOL; + var_dump($aArgs['config']); + var_dump($noVersion); + var_dump($curlReturn); + break; + } + //var_dump($curlReturn); + $response = $curlReturn['response']->children('http://schemas.xmlsoap.org/soap/envelope/')->Body->children('http://www.adullact.org/spring-ws/iparapheur/1.0')->GetHisto $curlReturn['response']->children('http://schemas.xmlsoap.org/soap/envelope/')->Body->children('http://www.adullact.org/spring-ws/iparapheur/1.0')->Ge +} catch (Exception $e) { + echo 'Exception : ', $e->getMessage(), "\n"; +} if ($response->MessageRetour->codeRetour == $aArgs['config']['data']['errorCode']) { // TODO gestion d'une potentielle erreur echo 'retrieveSignedMails noVersion : [' . $response->MessageRetour->severite . ']' . $response->MessageRetour->message; - return false; + //return false; + break; } else { $noteContent = ''; foreach ($response->LogDossier as $res) { // Loop on all steps of the documents (prepared, send to signature, signed etc...) @@ -286,7 +298,7 @@ class IParapheurController if (!empty($curlReturn['response'])) { // TODO gestin d'une erreur - echo $curlReturn['error']; + echo 'error : ' . $curlReturn['error']; return false; } ~~~ 2. client Soap : si l'enveloppe XML de retour suite à l'appel à un WS SOAP comporte un double retour chariot cela tronque le body du xml voici le patch correctif : ~~~ text - $body = explode(PHP_EOL . PHP_EOL, $rawResponse)[1]; // put the header ahead + $body = strstr($rawResponse, '<?xml'); ~~~ Les deux patchs sont à appliquer depuis la 18.10.