J'ai un problème lors du dézippage xml signé et il est modifié.Contenu du texte xml dézippé
client a envoyé ce XML:
<DatoAdicional>
<Codigo>03</Codigo>
<Valor>: REGULARIZACI�N DEL VALOR FACTURADO*: DEBE SER: 30.29*: VALOR FACTURADO: 30.00*</Valor>
</DatoAdicional>
Mais quand unziping nous obtenons (il est modifié):
<DatoAdicional>
<Codigo>03</Codigo>
<Valor>: REGULARIZACI???N DEL VALOR FACTURADO*: DEBE SER: 30.29*: VALOR FACTURADO: 30.00*</Valor>
</DatoAdicional>
Le problème est que quand il unziped à l'intérieur de la jetée du serveur, car lorsque ce zip est unziped avec un client Java il est décompressé avec succès. Mon code Java est:
public static List<ZipContent> getXml(DataHandler file) throws IOException {
ZipInputStream zis = null;
List<ZipContent> zipContents = new ArrayList<>();
try {
zis = new ZipInputStream(file.getInputStream());
for (ZipEntry ze = zis.getNextEntry(); ze != null; ze = zis.getNextEntry()) {
if (!ze.isDirectory()) {
byte[] buffer = new byte[1 << 11];
ByteArrayOutputStream byteArrayOs = new ByteArrayOutputStream();
int len;
while ((len = zis.read(buffer)) > 0) {
byteArrayOs.write(buffer, 0, len);
}
ZipContent zc = new ZipContent();
zc.setFileName(ze.getName());
zc.setXml(new String(byteArrayOs.toByteArray()));
zipContents.add(zc);
}
zis.closeEntry();
}
zis.close();
return zipContents;
} catch (IOException e) {
throw e;
}
}
Hepl me s'il vous plaît.
Vous ne savez pas comment/pourquoi la jetée correspond à cette question. Rien dans votre code d'exemple n'utilise quoi que ce soit dans la spécification ou la jetée de servlet. –
Parce que cette méthode décompresser bien quand est l'appel d'un autre client alors je pense que cela pourrait être à cause de Jetty –