2013-02-25 12 views
9

Ich versuche, eine XMLDocument an eine URL zu senden. Das ist, was ich habe, so weit:XML an eine URL senden

var uri = System.Configuration.ConfigurationManager.AppSettings["Url"]; 
    var template = System.Configuration.ConfigurationManager.AppSettings["Template"]; 
    XmlDocument reqTemplateXml = new XmlDocument(); 
    reqTemplateXml.Load(template); 

    reqTemplateXml.SelectSingleNode("appInfo/appNumber").InnerText = x; 
    reqTemplateXml.SelectSingleNode("appInfo/coappNumber").InnerText = y; 

    WebRequest req = null; 
    WebResponse rsp = null; 
    req = WebRequest.Create(uri); 
    req.Method = "POST"; 
    req.ContentType = "text/xml"; 
    rsp = req.GetResponse(); 

Was ich versuche, ist, herauszufinden, wie dies XmlDocument so zum WebRequest Objekt zu laden, dass es zu dieser URL veröffentlicht werden kann.

+0

wird so etwas wie dieses Werk 'rsp.Load (request.GetResponse() GetResponseStream().);' – MethodMan

Antwort

14

Sie müssen in den RequestStream vor dem Aufruf req.GetResponse() wie folgt schreiben.

using (var writer = new StreamWriter(req.GetRequestStream())) 
    { 
     writer.Write(xml); 
    } 
+0

Schließlich bin ich in der Lage, dies zu debuggen. Ich sehe das XML nirgends im req-Objekt. Sobald diese Zeile ausgeführt wird, wo soll ich nach der XML suchen? Ich sehe nur zwei Schlüssel in req Objekt, Content-Typ und Host. Ich möchte nur bestätigen, dass xml korrekt zum Objekt hinzugefügt wurde, kann es aber nicht herausfinden. Erkundet das req-Objekt seit einer Stunde. Danke! – OBL

+0

Sie werden es nirgends auf dem Requ-Objekt in Visual Studio sehen. Es ist in den Stream geschrieben und ich glaube, Sie werden Dinge durcheinander bringen, wenn Sie den Stream zurücksetzen. Wenn Sie sicherstellen möchten, dass es korrekt an das Server-Skript gesendet wird, könnte ein Tool wie wireshark das sein, was Sie wollen. oft richte ich ein "lokales" Serverskript ein, wie meine eigene kleine asp.net-Website, die die Anfrage einfach in eine Datei ablegt. Ich werde dann die Xml/Payload auf meine lokale Website posten und den Datei-Dump untersuchen. –

+0

Was ist "xml" (übergeben an write.Write()) in Ihrem Code? –

Verwandte Themen