2013-11-30 3 views
0

Я новичок в разработке Windows Phone 8.Http post call in windows phone 8

Не могли бы вы помочь мне отправить XML-данные на сервер через HTTP-сообщения в Windows Phone 8?

Благодаря

ответ

0

Это пример кода, который я использовал в моем проекте. Измените в соответствии с вашими потребностями

HttpWebRequest req = (HttpWebRequest)WebRequest.Create("url to submit to"); 
req.Method = "POST"; 

//Add a Header something like this 
//req.Headers["SOAPAction"] = "http://asp.net/ApplicationServices/v200/AuthenticationService/Login"; 

req.ContentType = "text/xml; charset=utf-8"; 

//req.UserAgent = "PHP-SOAP/5.2.6"; 

string xmlData = @"<?xml version=""1.0"" encoding=""UTF-8""?>Your xml data"; 

// Convert the string into a byte array. 
byte[] byteArray = Encoding.UTF8.GetBytes(xmlData); 
req.Headers[HttpRequestHeader.ContentLength] = byteArray.Length.ToString(); 

req.BeginGetRequestStream(ar => 
{ 
    using (var requestStream = req.EndGetRequestStream(ar)) 
    { 
     // Write the body of your request here 
     requestStream.Write(byteArray, 0, xmlData.Length); 
    } 

    req.BeginGetResponse(a => 
    { 
     try 
     { 
      var response = req.EndGetResponse(a); 
      var responseStream = response.GetResponseStream(); 

      using (var streamRead = new StreamReader(responseStream)) 
      { 
       // Parse the response message here 
       string responseString = streamRead.ReadToEnd(); 
       //If response is also XML document, parse it like this 
       XDocument xdoc = XDocument.Parse(responseString); 
       string result = xdoc.Root.Value; 

       if (result == "true") 
       { 
        //Do something here 
       } 
       else 
        Dispatcher.BeginInvoke(() => 
        { 
         //result failed 
         MessageBox.Show("Some error msg"); 
        }); 
      } 
     } 
     catch (Exception ex) 
     { 
      Dispatcher.BeginInvoke(() => 
      { 
       //if any unexpected exception occurs, show the exception message 
       MessageBox.Show(ex.Message); 
      }); 
     } 

    }, null); 

}, null); 
+0

Благодарим за помощь. Он работает нормально. – user2636874