To invoke an XML Web service asynchronously
Last Update:2017-02-28
Source: Internet
Author: User
web|xml| Asynchronous
Using System;
Using System.Net;
Using System.IO;
Using System.Text;
Using System.Xml;
Using System.Collections.Specialized;
Using System.Diagnostics;
Namespace Technology
... {
/**////<summary>
Summary description for Main.
</summary>
Class Tester
... {
public void callback (IAsyncResult ar) ... {
HttpWebRequest req= (HttpWebRequest) ar. asyncstate;
HttpWebResponse res= (HttpWebResponse) req. EndGetResponse (AR);
Console.WriteLine ("* * * Response Start * * *");
Console.WriteLine (Res. Statuscode.tostring ());
Console.WriteLine (Res. Statusdescription);
Displayheaders
foreach (String Sitem in Res. Headers)
... {
Console.WriteLine (Sitem + ":" + Res. Headers[sitem]);
}
Stream stream = Res. GetResponseStream ();
if (stream!= null)
... {
StreamReader sr = new StreamReader (stream, encoding.ascii);
Console.WriteLine (Sr. ReadToEnd ());
}
Console.WriteLine ("* * * Response END * * * *");
Console.ReadLine ();
}
static void Main (string[] args)
... {
1.construct Request
HttpWebRequest req = (HttpWebRequest) webrequest.create ("Http://localhost/WebService2/Service1.asmx/HelloWorld");
Req. method = "POST";
Req. Contenttype= "application/x-www-form-urlencoded";
String content= "name=100";
Req. Contentlength=content. Length;
Stream s = req. GetRequestStream ();
StreamWriter sw = new StreamWriter (s);
Sw. Write (content);
Sw. Close ();
Tester t=new Tester ();
AsyncCallback callback=new AsyncCallback (T.callback);
Req. BeginGetResponse (Callback,req);
2.Display Request
Console.WriteLine ("* * Request Start * * * *");
Console.WriteLine (req. Requesturi.tostring ());
foreach (String Sitem in req. Headers)
... {
Console.WriteLine (Sitem + ":" +req. Headers[sitem]);
}
Console.WriteLine ("* * * Request END * * * *");
Console.ReadLine ();
}
}
}
Using System;
Using System.Net;
Using System.IO;
Using System.Text;
Using System.Xml;
Using System.Collections.Specialized;
Using System.Diagnostics;
Namespace Technology
... {
/**////<summary>
Summary description for Main.
</summary>
Class Tester
... {
static void Main (string[] args)
... {
1.construct Request
HttpWebRequest req = (HttpWebRequest) webrequest.create ("Http://218.193.118.9/WebService4/Service1.asmx/HelloWorld ");
Req. method = "POST";
Req. Contenttype= "application/x-www-form-urlencoded";
String content= "slowtime=5000";
Req. Contentlength=content. Length;
Stream s = req. GetRequestStream ();
StreamWriter sw = new StreamWriter (s);
Sw. Write (content);
Sw. Close ();
2.Display Request
Console.WriteLine ("* * Request Start * * * *");
Console.WriteLine (req. Requesturi.tostring ());
Displayheaders
foreach (String Sitem in req. Headers)
... {
Console.WriteLine (Sitem + ":" +req. Headers[sitem]);
}
Console.WriteLine ("* * * Request END * * * *");
3.get response
HttpWebResponse res = (HttpWebResponse) req. GetResponse ();
4.DisplayResponse
Console.WriteLine ("* * * Response Start * * *");
Console.WriteLine (Res. Statuscode.tostring ());
Console.WriteLine (Res. Statusdescription);
Displayheaders
foreach (String Sitem in Res. Headers)
... {
Console.WriteLine (Sitem + ":" + Res. Headers[sitem]);
}
Displaycontent
Stream stream = Res. GetResponseStream ();
if (stream!= null)
... {
StreamReader sr = new StreamReader (stream, encoding.ascii);
Console.WriteLine (Sr. ReadToEnd ());
}
Console.WriteLine ("* * * Response END * * * *");
Console.ReadLine ();
}
}
}