xmlの署名解凍に問題があり、変更されました。解凍されたxmlのテキスト内容がマングルされました
<DatoAdicional>
<Codigo>03</Codigo>
<Valor>: REGULARIZACI�N DEL VALOR FACTURADO*: DEBE SER: 30.29*: VALOR FACTURADO: 30.00*</Valor>
</DatoAdicional>
しかし、我々は(それが変更されています)を取得unzipingとき:
クライアントは、このXMLを送っ
<DatoAdicional>
<Codigo>03</Codigo>
<Valor>: REGULARIZACI???N DEL VALOR FACTURADO*: DEBE SER: 30.29*: VALOR FACTURADO: 30.00*</Valor>
</DatoAdicional>
問題は、それが、サーバー桟橋内unzipedときにジップがでunzipedされている場合ので、ということです正常に解凍されたクライアントJava。私のコードjavaは:
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;
}
}
私はしてください。
桟橋がこの質問にどのように適合しているのかわかりません。あなたのサンプルコードの中には、サーブレットの仕様やjettyのものは何も使用していません。 –
他のクライアントからの呼び出しがあるときにそのメソッドが解凍されるので、私はそれがJettyのためかもしれないと思います –