GetToolInfor.xml
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<toolInfo xmlns="http://amcnts19.amcex.asmpt.com/LFProdDataWebservice/">
<tool>AMSD1677-C001</tool>
</toolInfo>
</soap:Body>
</soap:Envelope>
主程序调用xml文件进行SOAP查询
using System.IO;
using System.Net;
using System.Xml;
private void cmdSeach_Click(object sender, RoutedEventArgs e)
{
//StringBuilder soap = new StringBuilder();
//soap.Append("<?xml version=\"1.0\" encoding=\"utf - 8\"?>");
//soap.Append("<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">");
//soap.Append("<soap:Body>");
//soap.Append("<toolInfo xmlns=\"http://xxxnts19.xxxex.xxx.com/LFProdDataWebservice/\">");
//soap.Append("<tool>AMSD1677-C001</tool>");
//soap.Append("</toolInfo>");
//soap.Append("</soap:Body>");
//soap.Append("</soap:Envelope>");
string toolNo = txtParameter.Text;
string xmlDirectory = Directory.GetCurrentDirectory();
string xmlFIle = System.IO.Path.Combine(xmlDirectory, "GetToolInfo.xml");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlFIle);
xmlDoc.DocumentElement["soap:Body"]["toolInfo"]["tool"].InnerText = toolNo;// "AMSD1677-C001";
string soap = xmlDoc.OuterXml;
Uri uri = new Uri("http://amcnts19.amcex.asmpt.com/LFProdDataWebservice/LFProdData.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);
requestStream.Write(paramBytes, 0, paramBytes.Length);
}
WebResponse webResponse = webRequest.GetResponse();
using (StreamReader sr = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8))
{
string streamString = sr.ReadToEnd().Trim().Replace("\n", "");
XmlDocument xmlRespondDoc = new XmlDocument();
xmlRespondDoc.LoadXml(streamString);
xmlRespondDoc.Save("respond.xml");
XmlNode note = xmlRespondDoc.DocumentElement["soap:Body"]["toolInfoResponse"]["toolInfoResult"]["P_Pitch"];
string pitch = note.InnerText;
note= xmlRespondDoc.DocumentElement["soap:Body"]["toolInfoResponse"]["toolInfoResult"]["P_Width"];
string width = note.InnerText;
txtDetail.Text = "Pitch: " + pitch + "\nWidth: " + width;
}
}
}