2013-02-25 1 views
9

XMLDocument을 URL에 게시하려고합니다. 내가 알아 내려고 노력하고 있어요 것은이 해당 URL에 게시 할 수 있도록 WebRequest 목적이 XmlDocument을로드하는 방법입니다XML을 URL에 게시하십시오.

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(); 

: 이것은 내가 지금까지있는 것입니다.

+0

는이 작품과 같이'rsp.Load (request.GetResponse()하면 GetResponseStream().) 것이다 ' – MethodMan

답변

14

이와 같이 req.GetResponse()을 호출하기 전에 RequestStream에 작성해야합니다.

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

마지막으로 나는이 디버깅 할 수 있어요. req 객체에서 xml을 볼 수 없습니다. 일단이 줄이 실행되면 어디에서 xml을 찾아야합니까? req 객체, Content-type 및 Host에서 두 개의 키만보고 있습니다. xml이 개체에 올바르게 추가되었는지 확인하고 싶지만 알아낼 수는 없습니다. 1 시간 동안 req 객체를 탐색 중입니다. 감사합니다. – OBL

+0

당신은 비주얼 스튜디오에서 req 객체의 어느 곳에서도 그것을 볼 수 없을 것입니다. 그것은 스트림에 기록되며 스트림을 재설정하면 문제를 망칠 것이라고 생각합니다. 서버 스크립트에 올바르게 제출되도록하려면 wireshark와 같은 도구가 필요할 것입니다. 종종, 요청을 파일에 덤프하는 내 자신의 작은 asp.net 웹 사이트처럼 "로컬"서버 스크립트를 설정합니다. 그러면 xml/payload를 로컬 사이트에 게시하고 파일 덤프를 검사합니다. –

+0

코드에서 "xml"(write.Write()로 전달 된)은 무엇입니까? –

관련 문제