Salutations, toutes. Voici ma situation. Je tente de faire un HttpWebRequest à un fichier de gestionnaire local et je reçois toujours l'exception suivante:IOException lors de la création de HttpWebRequest dans le fichier ASHX local
Impossible de lire les données à partir de la connexion de transport: une connexion existante a été forcée par l'hôte distant. Maintenant, j'utilise un fichier de gestionnaire local car j'écris un code d'intégration pour un tiers que le site utilisera. Jusqu'à ce que je dispose d'un environnement de test pour effectuer des requêtes, je me moque du processus avec un fichier de gestionnaire local. Voici le code pertinent. Merci.
Code WebRequest (Variable SubRequest est un objet passé à la méthode d'exécution de ce code):
XmlSerializer serializer;
XmlDocument xmlDoc = null;
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(requestUrl);
webRequest.Method = "POST";
webRequest.ContentType = "text/xml";
webRequest.KeepAlive = true;
webRequest.Accept = "*/*";
serializer = new XmlSerializer(subRequest.GetType());
XmlWriter writer = new XmlTextWriter(webRequest.GetRequestStream(), Encoding.UTF8);
serializer.Serialize(writer, subRequest);
writer.Close();
xmlDoc = new XmlDocument();
xmlDoc.Load(XmlReader.Create(webRequest.GetResponse().GetResponseStream()));
Le "requestUrl" est défini comme "http://localhost:2718/Handlers/MyHandler.ashx". Je peux très bien saisir le fichier du gestionnaire et passer le code. Tout ce qu'il fait est assembler une réponse XML comme une chaîne et l'écrit vers l'objet Response:
context.Response.ContentType = "text/xml";
string newSubscriptionId = Utils.GetUniqueKey();
StringBuilder sb = new StringBuilder();
sb.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
// Assemble XML string here
context.Response.Write(sb.ToString());
Pour autant que je peux dire, tout cela est fonctionne très bien. Mais quand frappe mon code de la dernière ligne du morceau WebRequest:
xmlDoc.Load(XmlReader.Create(webRequest.GetResponse().GetResponseStream()));
est quand l'exception est levée. Des idées? Merci d'avance.
James
LOL! Et juste comme ça, dès que j'ai posté cette question, j'ai reçu les détails de connexion pour l'environnement de test que j'attendais. Ca c'est drôle. J'apprécierais quand même une réponse ou une suggestion à cette question, au cas où cela reviendrait. :) –