J'ai une fonction Java qui génère des signatures numériques pour les fichiers XML. Voici un extrait qui me donne quelques problèmes:Téléchargement d'un fichier sur un serveur Apache
String boundary = MultiPartFormOutputStream.createBoundary();
HttpURLConnection urlConn = (HttpURLConnection)MultiPartFormOutputStream.createConnection(new URL(url + "/sign"));
urlConn.setRequestProperty("Accept", "*/*");
urlConn.setRequestProperty("Content-Type", MultiPartFormOutputStream.getContentType(boundary));
urlConn.setRequestProperty("Cache-Control", "no-cache");
urlConn.setDOInput(true);
urlConn.setDoOutput(true);
MultiPartFOrmOutputStream up = new MultiPartFormOutputStream(urlCOnn.getOutputStream(), boundary);
up.writeField(SignServletParams.detachedParam, "1");
up.writeFile(SignServletParams.xmlParam, "text/xml", "xml_file.xml", XMLUtil.toEncodedStream(doc);
up.close();
Document ret = null;
String connRead = "";
BufferedReader down = new BufferedReader(new InputStreamReader(urlCOnn.getINputStream()));
Si toutefois, si le fichier xml est plus grand (a quelques milliers de nœuds), je tente et de télécharger des petits fichiers xml, il fonctionne très bien, je reçois un IOException où le BufferedReader est en cours de création. Le message d'exception indique simplement que le serveur a renvoyé un statut 500. J'ai vérifié les journaux du serveur Apache et indique ce qui suit:
Filtre d'entrée: Impossible de créer un fichier temporaire: « nom de fichier »
J'ai hérité ce code de quelqu'un d'autre qui l'a écrit, donc je suis Nous essayons toujours de tout rassembler, mais nous ne saurions pas trop pourquoi la fonction fonctionne pour les petits fichiers et échoue pour les plus gros.
C'est donc un client java qui envoie le fichier XML, et Apache le gère? Y a-t-il un php dans l'image? – lucas