S’abonner

Erreur de signature de commande avec SunnysignRem suite à la nouvelle version d'INTEROP

La plateforme INTEROP a connu un changement de version ce début juin 2020, impliquant de nouveaux éléments dans les fichiers de commande .xml générés et téléchargés depuis celle-ci. Il est visiblement possible de retrouver des caractères interdits dans ces nouveaux éléments, ce qui rend son exploitation problématique. Jusqu'à ce que ceci soit corrigé en amont pour ne plus permettre la saisie de ce type de caractère, voici la démarche qui peut être suivie pour réaliser la signature de tels fichiers :

 

1 - Constatation de la problématique

 

SunnysignRem indiquera simplement une erreur depuis son interface:

2020-06-10_09h52_44.png

Le problème peut s'identifier plus précisément en consultant les fichiers de log de SunnysignRem, dont le répertoire est définit dans la configuration dans la partie Signer / Onglet Répertoires / Répertoire des fichiers de log

2020-06-10_15h16_25.png

Il suffit de reprendre le ou les fichiers correspondants à l'heure de vos tentatives :

Vous trouverez des messages analogues aux suivants (les mentions aux numéros de ligne et de colonne ainsi que le nom de fichier peuvent varier) :

 

[2020-06-10 09:52:38] [Erreur] : [FILE_MAIN_PROCESSING_ERROR, Signer, ThreadProcess_signer_1591775535011] -> C:\Users\USER01\Documents\Sunnysign\in\Command_20200608_036103600057273096_6.xml (application/xml)
com.lexpersona.lp7process.thread.ThreadProcessException: Impossible de signer le document : C:\Users\Thibaut THIERY\Documents\Sunnysign\in\Command_20200608_036103600057273096_6 (1).xml
at com.lexpersona.lp7process.thread.ThreadProcess.mainProcess(ThreadProcess.java:460)
at com.lexpersona.lp7process.thread.ThreadProcess.processFile(ThreadProcess.java:318)
at com.lexpersona.lp7process.thread.ThreadProcess.process(ThreadProcess.java:277)
at com.lexpersona.lp7process.thread.ThreadProcess.processDirectory(ThreadProcess.java:300)
at com.lexpersona.lp7process.thread.ThreadProcess.process(ThreadProcess.java:282)
at com.lexpersona.lp7process.thread.ThreadProcess.processInputDirectory(ThreadProcess.java:250)
at com.lexpersona.lp7process.thread.ThreadProcess.loopToScanInputDirectory(ThreadProcess.java:226)
at com.lexpersona.lp7process.thread.ThreadProcess.run(ThreadProcess.java:218)
Caused by: com.lexpersona.lp7process.thread.MainProcessException: Impossible de signer le document : C:\UsersUSER01\Documents\Sunnysign\in\Command_20200608_036103600057273096_6.xml
at com.lexpersona.lp7process.signer.application.ThreadSigner.processError(ThreadSigner.java:143)
at com.lexpersona.lp7process.signer.application.ThreadSigner.doProcess(ThreadSigner.java:83)
at com.lexpersona.lp7process.thread.ThreadProcess.mainProcess(ThreadProcess.java:441)
... 7 more
Caused by: com.lexpersona.signature.engine.xades.enveloping.XAdESEnvelopingSignatureSignedDataLoadingException: Erreur lors du chargement du contenu à signer.
at com.lexpersona.signature.engine.xades.enveloping.BaseEnvelopingXAdESDocumentSigner.createSignedDataLoadingException(BaseEnvelopingXAdESDocumentSigner.java:120)
at com.lexpersona.signature.engine.xades.enveloping.BaseEnvelopingXAdESDocumentSigner.createSignedData(BaseEnvelopingXAdESDocumentSigner.java:109)
at com.lexpersona.signature.engine.xades.enveloping.BaseEnvelopingXAdESDocumentSigner.createSignedDataList(BaseEnvelopingXAdESDocumentSigner.java:54)
at com.lexpersona.signature.engine.xades.enveloping.EnvelopingXAdESDocumentSigner.sign(EnvelopingXAdESDocumentSigner.java:39)
at com.lexpersona.signature.engine.xades.enveloping.EnvelopingXAdESDocumentSigner.sign(EnvelopingXAdESDocumentSigner.java:17)
at com.lexpersona.lp7process.signer.application.ThreadSigner.doProcess(ThreadSigner.java:78)
... 8 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 29; Invalid byte 1 of 1-byte UTF-8 sequence.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at java.xml/javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:122)
at com.lexpersona.xades.utils.DOMUtils.parse(DOMUtils.java:45)
at com.lexpersona.signature.engine.xades.enveloping.BaseEnvelopingXAdESDocumentSigner.createSignedData(BaseEnvelopingXAdESDocumentSigner.java:75)
... 12 more
Caused by: org.apache.xerces.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
at org.apache.xerces.impl.io.UTF8Reader.invalidByte(Unknown Source)
at org.apache.xerces.impl.io.UTF8Reader.read(Unknown Source)
at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
at org.apache.xerces.impl.XMLEntityScanner.peekChar(Unknown Source)
at org.apache.xerces.impl.XMLScanner.scanComment(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanComment(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
... 17 more

 

2 - Modification du fichier

 

Assurez-vous que SunnysignRem ne soit pas en cours de fonctionnement. Vous pouvez ensuite télécharger à nouveau le fichier de commande puis de visualiser son contenu (Bloc-Note sous Windows peut être utilisé par exemple)

Lorsqu'un fichier de commande est créé, il dispose de nouvelles lignes au début de son contenu :

- Vu depuis un Bloc-note:

<?xml version="1.0" encoding="utf-8"?>
<!--===============================================================-->
<!--Emetteur : BRINKS FRANCE-->
<!--Message : MultiShipmentOrder -->
<!--Description : commande n° 036103600057273096 -->
<!--Date: 2020-06-08T10:06:06-->
<!--===============================================================-->

 

- Vu depuis l'application Notepad++:

2020-06-10_13h45_34.png

Nous remarquons à la 5ème ligne, en accord avec les éléments présent dans le fichier de log, la présence d'un caractère spécial malheureusement interdit (symbole de numéro °)

Il convient donc de simplement supprimer ce caractère, puis d'enregistrer le fichier.

Si ce n'est pas déjà le cas, déplacez le fichier de commande ainsi modifié dans le dossier de traitement de SunnysignRem, puis démarrer son processus. Le traitement s'effectue à nouveau sans encombre.

 

 

 

Cet article vous a-t-il été utile ?
Utilisateurs qui ont trouvé cela utile : 0 sur 0
Vous avez d’autres questions ? Envoyer une demande

0 Commentaires

Cet article n'accepte pas de commentaires.