Bonjour,
Context :
J'ai une application console qui charge un fichier et envoie le texte complet via HTTPWebRequest vers une procédure Oracle (CLOB en paramètre) via un serveur Apache en utilisant la méthode POST.
Problème :
Lorsque je charge un fichier de moins de 30 ko, il n'y a aucun problème, tout se déroule correctement.
Or, au delà de cette taille, le HTTPWebRequest.GetResponse() me retourne l'erreur 400 - Demande incorrecte.
Pouvez-vous m'aider à résoudre mon problème ?
Code de ma procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 string s_fichier; streamreader sr_fic = new streamreader(@"c:\temp\testclob.txt"); s_fichier= sr_fic.readtoend(); console.write(s_fichier); s_fichier = "p_clob=" + s_fichier.replace("\r\n", "||"); s_fichier = s_fichier.replace("\n\r", "||"); asciiencoding encoding = new asciiencoding(); byte[] data = encoding.getbytes(s_fichier); httpwebrequest request = (httpwebrequest)webrequest.create(@"http://serverHTTPOracle:port/DAD/Package.procedure"); request.timeout = int.maxvalue; request.method = system.net.webrequestmethods.http.post; //request.contenttype = "application/x-www-form-urlencoded"; request.contenttype = "text/plain"; request.contentlength = data.length; request.keepalive = true; request.useragent = null; request.allowautoredirect = false; request.allowwritestreambuffering = true; request.maximumresponseheaderslength = int.maxvalue; request.pipelined = true; request.readwritetimeout = int.maxvalue; //request.sendchunked = true; stream newstream = request.getrequeststream(); // send the data. newstream.write(data, 0, data.length); newstream.close(); console.write("reponse : " + request.address + " - " + request.haveresponse.tostring()); console.read(); webresponse response = request.getresponse(); //newstream.close(); //streamreader reader = new streamreader(response.getresponsestream()); //string urltext = reader.readtoend(); //console.write(urltext.replace("||","\n")); console.write("fin du traitement"); console.read(); sr_fic.close();
Partager