program code using System;
Using System.IO;
Using System.Net;
Using System.Text;
Namespace ConsoleApplication1
{
Class Program
{
static void Main (string[] args)
{
Constructing SOAP Request Information
StringBuilder soap = new StringBuilder ();
Soap. Append ("<?xml version=\" 1.0\ "encoding=\" utf-8\ "?>");
Soap. Append ("<soap:envelope xmlns:soap=\" http://schemas.xmlsoap.org/soap/envelope/\ "xmlns:xsd=\" http://www.w3.org /2001/xmlschema\ "xmlns:xsi=\" http://www.w3.org/2001/xmlschema-instance\ ">");
Soap. Append ("<soap:Body>");
Soap. Append ("<getweather xmlns=\" http://webxml.com.cn/\ ">");
Soap. Append ("<theCityCode>2210</theCityCode>");
Soap. Append ("<theUserID></theUserID>");
Soap. Append ("</getWeather>");
Soap. Append ("</soap:Body>");
Soap. Append ("</soap:Envelope>");
Initiating a request
Uri uri = new Uri ("Http://www.webxml.com.cn/WebServices/WeatherWS.asmx");
WebRequest WebRequest = WebRequest.Create (URI);
Webrequest.contenttype = "Text/xml; Charset=utf-8 ";
Webrequest.method = "POST";
using (Stream Requeststream = Webrequest.getrequeststream ())
{
byte[] parambytes = Encoding.UTF8.GetBytes (soap. ToString ());
requestStream.Write (parambytes, 0, parambytes.length);
}
Response
WebResponse WebResponse = Webrequest.getresponse ();
using (StreamReader Mystreamreader = new StreamReader (WebResponse.GetResponseStream (), Encoding.UTF8))
{
Console.WriteLine (Mystreamreader.readtoend ());
}
Console.readkey ();
}
}
}
return Result:
Reference content <?xml version= "1.0" encoding= "Utf-8"? ><soap:envelope xmlns:soap= "http://schemas.xmlsoap.org/soap/ envelope/"xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance "xmlns:xsd=" Http://www.w3.org/2001/XMLSchema " ><soap:body><getweatherresponse xmlns= "http://WebXml.com.cn/" ><getweatherresult><string > Fujian Fuzhou </string><string> Fuzhou </string><string>2210</string><string>2010/01/ 15:42:15</string><string> Weather Today: Temperature: 12.5 ℃, Wind/Wind: Southeast Wind 4, Humidity: 94%, air pressure:1011.9hpa</string>< string> air quality: good; UV intensity: no </string><string> clothing index: Recommended for thin-type suits or denim shirt pants, such as spring and autumn transition clothing. The frail and infirm are suitable for suits, jackets and so on.
Cold index: There will be a strong cooling process, and the air humidity is large, very prone to colds, please pay special attention to increase clothing warm cold.
Morning Exercise index: There are showers, less suitable for morning exercises, if you insist on outdoor exercise, please bring rain gear. It is advisable to reduce morning exercise time for frail people.
Car Wash Index: not suitable to wash the car, the next 24 hours of rain, if during this period of washing, rain and muddy the road may be dirty your car again.
Drying index: Occasional rainfall may be wet drying clothes, not suitable for drying. Please keep an eye out for weather changes.
Tourism index: There is a shower, the temperature is appropriate, in the rain play do not have a mood, you can not miss the opportunity yo! But remember to carry rain gear.
Traffic index: Light rain, wet road, easy to skid vehicles, please drive carefully.
Comfort Index: The daytime is not too hot and not too cold, the wind is not big, I believe you in such weather conditions, you should feel relatively fresh and comfortable. </string><string>1 month 21st showers turn to drizzle </string><string>12℃/19℃</string><string> No lasting wind breeze </string><string>3.gif</string><string>7.gif</string><string>1 month 22nd Light rain </string><string>9℃/14℃</string><string> no continuous wind breeze </string><string>7.gif </string><string>7.gif</string><string>1 Month 23rd light Rain </string><string>8℃/12℃</ String><string> no continuous wind breeze </string><string>7.gif</string><string>7.gif</string ><string>1 Month 24th Yin </string><string>12℃/17℃</string><string> no continuous wind breeze </string ><string>2.gif</string><string>2.gif</string><string>1 Month 25th Cloudy </string> <string>13℃/18℃</string><string> no continuous wind breeze </string><string>1.gif</string>< String>1.gif</string></getweatherresult></getweatherresponse>&lT;/soap:body></soap:envelope>
ASP Edition
Copy content to Clipboard program code <%
Dim Xmlhttp,soap
SOAP = Soap & "<?xml version=" "1.0" "encoding=" "Utf-8" "?>"
SOAP = Soap & "<soap:envelope xmlns:soap=" "http://schemas.xmlsoap.org/soap/envelope/" "xmlns:xsd=" "/HTTP/ Www.w3.org/2001/XMLSchema "" xmlns:xsi= "" Http://www.w3.org/2001/XMLSchema-instance "" > "
SOAP = Soap & "<soap:Body>"
SOAP = Soap & "<getweather xmlns=" "http://WebXml.com.cn/" ">"
SOAP = Soap & "<theCityCode>2210</theCityCode>"
SOAP = Soap & "<theUserID></theUserID>"
SOAP = Soap & "</getWeather>"
SOAP = Soap & "</soap:Body>"
SOAP = Soap & "</soap:Envelope>"
Set xmlHttp = CreateObject ("MSXML2. XMLHTTP ")
Xmlhttp.open "Post", "Http://www.webxml.com.cn/WebServices/WeatherWS.asmx", False
Xmlhttp.setrequestheader "Content-type", "text/xml; Charset=utf-8 "
' Have seen the WS requirements of Java must have SOAPAction, otherwise error no soapaction header!
Xmlhttp.setrequestheader "SOAPAction", "Http://WebXml.com.cn/getWeather"
Xmlhttp.send (SOAP)
If Xmlhttp.status =
Response.Write (XmlHttp.responseXML.xml)
End If
Set xmlHttp = Nothing
%>
Web service calls with SoapHeader
Copy content to Clipboard program code using System;
Using System.IO;
Using System.Net;
Using System.Text;
Namespace ConsoleApplication1
{
Class Program
{
static void Main (string[] args)
{
Constructing SOAP Request Information
StringBuilder soap = new StringBuilder ();
Soap. Append ("<?xml version=\" 1.0\ "encoding=\" utf-8\ "?>");
Soap. Append ("<soap:envelope xmlns:soap=\" http://schemas.xmlsoap.org/soap/envelope/\ "xmlns:xsd=\" http://www.w3.org /2001/xmlschema\ "xmlns:xsi=\" http://www.w3.org/2001/xmlschema-instance\ ">");
Soap. Append ("<soap:Header>");
Soap. Append ("<mysoapheader xmlns=\" http://www.mzwu.com/\ "soap:mustunderstand=\" 1\ ">");//mustunderstand=1, The recipient must be able to handle this soapheader information or return an error
Soap. Append ("<UserName>admin</UserName>");
Soap. Append ("<UserPass>admin888</UserPass>");
Soap. Append ("</MySoapHeader>");
Soap. Append ("</soap:Header>");
Soap. Append ("<soap:Body>");
Soap. Append ("Soap. Append ("<name>dnawo</name>");
Soap. Append ("</Hello>");
Soap. Append ("</soap:Body>");
Soap. Append ("</soap:Envelope>");
Initiating a request
Uri uri = new Uri ("Http://localhost:39674/Service1.asmx");
WebRequest WebRequest = WebRequest.Create (URI);
Webrequest.contenttype = "Text/xml; Charset=utf-8 ";
Webrequest.method = "POST";
using (Stream Requeststream = Webrequest.getrequeststream ())
{
byte[] parambytes = Encoding.UTF8.GetBytes (soap. ToString ());
requestStream.Write (parambytes, 0, parambytes.length);
}
Response
WebResponse WebResponse = Webrequest.getresponse ();
using (StreamReader Mystreamreader = new StreamReader (WebResponse.GetResponseStream (), Encoding.UTF8))
{
Console.WriteLine (Mystreamreader.readtoend ());
}
Console.readkey ();
}
}
}
Little Tricks
When viewing a Web service in a browser, there are detailed examples of SOAP requests and responses:
Resources
· Soap Tutorial: http://www.w3school.com.cn/soap/index.asp
• Simple Object Access Protocol: Http://zh.wikipedia.org/zh-cn/SOAP
· Soap Call Web Service:http://book.51cto.com/art/200906/129733.htm
• About lang Xin webserver interface problem: http://fpcfjf.blog.163.com/blog/static/5546979320081069223827/
C # uses SOAP to invoke Web Service