1。第一中不用说了。使用vs.net提供的工具,生成代理类。
2。使用webrequest的方法。
public static XmlDocument XmlSendByHttp(string xmlString, string url, string SoapAction)
{
XmlDocument outxml = new XmlDocument();
Stream oWriter = null;
bool bResult = true;
byte[] data = Encoding.UTF8.GetBytes(xmlString);
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.Method = "POST";
myRequest.Headers.Add("SOAPAction", SoapAction);
myRequest.Headers.Add("ContentLength", data.Length.ToString());
myRequest.ContentType = "text/xml; charset=utf-8";
try
{
oWriter = myRequest.GetRequestStream();
oWriter.Write(data, 0, data.Length);
oWriter.Close();
}
catch
{
oWriter.Close();
bResult = false;
}
Stream oReader = null;
if (bResult)
{
try
{
HttpWebResponse oResponse = (HttpWebResponse)myRequest.GetResponse();
oReader = oResponse.GetResponseStream();
outxml.Load(oReader);
oReader.Close();
}
catch
{
}
}
return outxml;
}
{
XmlDocument outxml = new XmlDocument();
Stream oWriter = null;
bool bResult = true;
byte[] data = Encoding.UTF8.GetBytes(xmlString);
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.Method = "POST";
myRequest.Headers.Add("SOAPAction", SoapAction);
myRequest.Headers.Add("ContentLength", data.Length.ToString());
myRequest.ContentType = "text/xml; charset=utf-8";
try
{
oWriter = myRequest.GetRequestStream();
oWriter.Write(data, 0, data.Length);
oWriter.Close();
}
catch
{
oWriter.Close();
bResult = false;
}
Stream oReader = null;
if (bResult)
{
try
{
HttpWebResponse oResponse = (HttpWebResponse)myRequest.GetResponse();
oReader = oResponse.GetResponseStream();
outxml.Load(oReader);
oReader.Close();
}
catch
{
}
}
return outxml;
}
本文介绍了一种通过HTTP POST请求发送XML数据并指定SOAPAction的方法。此方法利用了.NET Framework中的HttpWebRequest类实现远程服务调用。具体步骤包括设置请求头、构造请求体、发送请求并读取响应。
5912

被折叠的 条评论
为什么被折叠?



