Bonjour,
J'ai un probème auquel je suis confronté depuis 15 jours sans trouver...
J'ai une DLL ISAPI delphi 7 (tournant sous IIS 6.0 sous Windows 2003) qui reçoit des requettes XML en Post et y répond
mais de temps en temps sans savoir pourquoi le POST n'arrive pas jusqu'au bout et les données reçues sont tronquées (j'ai analysé avec des outils de capture de trame type Wireshark, observer ou Sniffer pro) et je constate que le xml renvoyé est coupé brutalement et suivi d'un RST (reset de la connexion)
ceci de façon totalement aléatoire (pour un même xml, une fois il est posté complètement, et une fois non).
Jai éliminé les causes réseaux puisque je reproduit le problème meme en postant et en recevant sur la meme machine (url localhost)
reste pour moi 2 causes possibles :
Coupé par IIS ou coupé par ma DLL ISAPI Delphi
concernant mon code delphi j'ai tout essayé et je ne voit pas ....y a t-il un bug Codgear connu sur le post du Twebresponse ?...
y a t-il des experts capables de me répondre ?
d'avance merci...
voici un extrait de code delphi avec lequel je reproduit le problème :
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 procedure TWM_monwebmodule.WebModule1DefaultAction(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); //action chargé de traiter les receptions de requetes POST ... //pour tester j'ai 60 sec apres reception d'unre requete pour deposer un fichier xml manuellement dans un repertoire qui sera envoyé par retour post if Request.MethodType in [mtPost] then for i:=1 to 60 do begin if not(fileexists('c:\aenvoyer\reponse_post.xml')) then sleep(1000) else begin sleep(1000); lstdebug:=tstringlist.create; lstdebug.LoadFromFile('c:\sinweb\aenvoyer\reponse_post.xml'); response.Content:=lstdebug.Text; //j'ai aussi essayé avec response.sendesponse puis request.writestring, en utilisant un stream en modifiant handled...sans succès resultat:= response.sent // toujours=true que ça se passe mal ou bien !? break; end; end;//for
Partager