|
FOROS PROFESIONALES WINDEV, WEBDEV y WINDEV Mobile |
| | | | | |
| Inicio → WINDEV 2025 → Compression GZIP pour Xémélios pour intégration piece jointe dans un fichier XML... |
| Compression GZIP pour Xémélios pour intégration piece jointe dans un fichier XML... |
| Iniciado por cthery, 10,abr. 2019 13:57 - 1 respuesta |
| |
| | | |
|
| |
| Publicado el 10,abril 2019 - 13:57 |
Bonjour, J'ai un souci de compression de pièce jointe dans un fichier XML sur Windev 23 Le cahier des charges indique : Fichier d'origine (binaire ou XML) compressé avec Gzip puis converti en base 64 : Recette, Dépense et Budget concernés. La génération du fichier XML se passe très bien, par contre dans l(import du fichier dans Xemlios le fichier joint ne passe pas : "Not in GZIP format". at java.util.zip.GZIPInputStream.readHeader(Unknown Source) at java.util.zip.GZIPInputStream.<init>(Unknown Source) at java.util.zip.GZIPInputStream.<init>(Unknown Source) at fr.gouv.finances.cp.xemelios.pesv2.PesFacturePiXslHrefTransformer.transform(PesFacturePiXslHrefTransformer.java:145) at fr.gouv.finances.dgfip.xemelios.importers.DefaultImporter.importFile(DefaultImporter.java:411) at fr.gouv.finances.dgfip.xemelios.importers.EtatImporteur.doInBackground(EtatImporteur.java:109) at fr.gouv.finances.dgfip.xemelios.importers.EtatImporteur.doInBackground(EtatImporteur.java:52) at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at org.jdesktop.swingworker.SwingWorker.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) //-------------------------------------------------------------------------------- J'ai des exemples de fichiers XML résultats qui passent, et effectivement le début du contenu est différent : <PJ>-<Contenu> <Fichier MIMEType="application/xml">H4s... ( sur 1 seule ligne) alors que le mien est : <PJ>-<Contenu> <FichierMIMEType="application/xml">SDRzSUFBQUFBQUFBQysxZFczUGl1QktlNTF (plusieurs lignes) //----------------------------------------------------------------- Voici mon code, j'ai aussi essayé avec GZIP, 7ZIP, même problème... Quelqu'un a t il une idée ?
cMonDoc..Encodage = "ISO-8859-1" cMonDoc.PES_Aller.PES_PJ[1].PJ.Contenu.Fichier:MIMEType="application/xml" // "text/xml" zipCrée("MonGZ",Remplace(sNomFicher,".xml",".gz")) SI zipAjouteFichier("MonGZ",sNomFicher,zipAucun)=0 ALORS zipFerme("MonGZ") bufPJ_Contenu est un Buffer =fChargeBuffer(Remplace(sNomFicher,".xml",".gz")) cMonDoc.PES_Aller.PES_PJ[1].PJ.Contenu.Fichier=Encode(bufPJ_Contenu,encodeBASE64) SINON Erreur("Erreur dans la récupération de la pièce-jointe"+RC+ErreurInfo()) RETOUR FIN ... SI XMLValidDocument(cMonDoc) ALORS XMLSauve(cMonDoc, "c:\helios\BUDGET-"+gc_BudgetEdite+"-"+EDF.exe+"-"+EDF.bud+".xml" ,XMLDocumentDéfaut) SI ErreurDétectée ALORS Erreur("Une erreur s'est produite pendant la sauvegarde : "+ErreurInfo(errComplet)) SINON Info("Fichier XML sauvegardé) FIN SINON Erreur("Le fichier XML généré n'est pas valide :"+ ErreurInfo()) FIN |
| |
| |
| | | |
|
| | |
| |
| Publicado el 12,abril 2019 - 15:06 |
En poursuivant mes tests, l'expression "ENCODE" de la ligne qui affecte la valeur du contenu est bonne: (commence par H4s...)
cMonDoc.PES_Aller.PES_PJ[1].PJ.Contenu.Fichier=Encode(bufPJ_Contenu,encodeBASE64)encode
c'est l'affectation de Windev qui est erronée ou c'est la définition du fichier XSD qui est intégrée dans le projet qui pose problème ?
J'ai fait le test suivant : Buf_Contenu est un Buffer= "123467890" cMonDoc.PES_Aller.PES_PJ[1].PJ.Contenu.Fichier =Buf_Contenu
et en générant mon fichier XML j'obtiens : <Contenu> <Fichier MIMEType="application/xml">MTIzNDY3ODkw</Fichier>
Au lieu de ma chaine "1234567890" ???? Donc la compression n'est pour moi pas en cause... Quelqu'un a t il une suggestion ? |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|