C# SOAP请求
2021/12/12 17:19:52
本文主要是介绍C# SOAP请求,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
原文可见:
https://bl(删除)og.csdn.net/(删除)sinat_29009169/article/details(删除)/103917166
public static string GetWebSock()
{
#region SOAP请求内容
//int BADSTRALL = int.Parse(StrOpen) + int.Parse(StrShort) + int.Parse(StrLowResistance);
StringBuilder soap = new StringBuilder(); //构造请求报文
soap.Append("<soapenv:Envelope xmlns:soapenv=\"这里填对方的地址\" ");
soap.Append("xmlns:ser=\"一样填对应的地址\">");
soap.Append("<soapenv:Header/>");
soap.Append("<ser:根据对方内容填写1>");
soap.Append("<ser:根据对方内容填写2>");
soap.Append("<字段名>" + 填写字段内容 + "</字段名>");
soap.Append("<字段名>" + 填写字段内容 + "</字段名>");
soap.Append("<字段名>" + 填写字段内容 + "</字段名>");
soap.Append("</ser:根据对方内容填写2>");
soap.Append("</ser:根据对方内容填写1>");
soap.Append("</soapenv:Body>");
soap.Append("</soapenv:Envelope>");
#endregion
//发起请求
Uri uri = new Uri(URL);
string a = ""; ;
try
{
WebRequest webRequest = WebRequest.Create(uri);
webRequest.ContentType = "text/xml; charset=UTF-8";
webRequest.Method = "POST";
//webRequest.Headers.Add("SOAPAction", SOAPACTION); // SOAPACTION 的值如果对方不为空的话,需要填写对方的,这个由对方提供,如果对方有SOAPUI,直接看其中RAW构成即可
webRequest.Headers.Add("SOAPAction", "");
using (Stream requestStream = webRequest.GetRequestStream())
{
byte[] paramBytes = Encoding.UTF8.GetBytes(soap.ToString());
requestStream.Write(paramBytes, 0, paramBytes.Length);
}
System.Threading.Thread.Sleep(2000);
//响应
WebResponse webResponse = webRequest.GetResponse();
using (StreamReader myStreamReader = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8))
{
//Console.WriteLine(myStreamReader.ReadToEnd());
a += myStreamReader.ReadToEnd();
}
XmlDocument doc = new XmlDocument();
doc.LoadXml(a);
#region 解析方法
//XmlNamespaceManager mgr = new XmlNamespaceManager(doc.NameTable);
////根据返回内容解析SOAP:
//mgr.AddNamespace("soap", "http://schemas.xmlsoap.org/soap/envelope/");
//mgr.AddNamespace("ns2", "http://service.webservice.services.intmes.com/");
////mgr.AddNamespace("i", "http://jjjj/2001/XMLSchema-instance");
////mgr.AddNamespace("z", "http://jjjj/2003/10/Serialization/");
//var rootNode = doc.SelectNodes("//a:QueryEncounter_Result/*", mgr);
//string name = "";
//foreach (XmlNode xxNode in rootNode)
//{
// string dsf = xxNode.InnerText;
// string sdf = xxNode.Name;
// //name += "|节点名字:" + sdf + "|节点文本:" + dsf + "|节点本地名字" + xxNode.Value;
// name += sdf + ":" + dsf;
//}
//a = name + "---------------------------" + a;
////解析XML
#endregion
}
catch (Exception err)
{
return err.ToString();
}
return a;
}
想用的时候,直接调用就可以了
这篇关于C# SOAP请求的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-12-06使用Microsoft.Extensions.AI在.NET中生成嵌入向量
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#