2009-04-27 3 views
0

Ich versuche, ein Problem isolieren das ich habe einen XML-RPC-Aufruf zu machen:Problem macht XML RPC-Aufruf

XDocument doc = new XDocument(); 
doc.Add(new XElement("methodCall", 
     new XElement("methodName", "send"), 
     new XElement("params", 
      new XElement("param", new XElement("value", new XElement("string", this.ApiKey))), 
      new XElement("param", new XElement("value", new XElement("string", this.FromAddress))), 
      new XElement("param", new XElement("value", new XElement("string", recipient))), 
      new XElement("param", new XElement("value", new XElement("string", contents))) 
     ) 
    ) 
); 

HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://urlremoved"); 
req.ContentType = "text/xml"; 
req.Method = "POST"; 

XmlTextWriter writer = new XmlTextWriter(req.GetRequestStream(), Encoding.UTF8); 
doc.Save(writer); 

HttpWebResponse response = (HttpWebResponse)req.GetResponse(); 
StreamReader reader = new StreamReader(response.GetResponseStream()); 
return reader.ReadToEnd(); 

dies nur Stände und nie mal aus (auch wenn ich Timeouts auf req.TimeOut gesetzt und req.ReadWriteTimeout). Ich habe die URL entfernt, hauptsächlich um den Fokus auf den Code zu legen.

Gibt es etwas Falsches mit dem Code, der diesen Anruf verhindert?

Antwort

0

Was passiert, wenn Sie writer.Flush(); aufrufen, nachdem Sie das XML gespeichert haben?

Ich bin mir nicht sicher, warum dies keine Zeitüberschreitung, aber vielleicht nicht Timeout als keine Anfrage wird aufgrund der Tatsache, dass das Schreiben gepuffert ist gemacht?