使用 C 夏普 SOAP 1.1 和 XML 数据调用远程 Web 服务?如何
本文关键字:Web 服务 如何 调用 数据 夏普 SOAP XML 使用 | 更新日期: 2023-09-27 18:34:54
在这里我正在使用ajax jquery调用Web服务,现在我想对soap 1.1 xml数据做同样的工作
W3学校方法链接
我现在使用与上面的方法相同的方法,我想使用 soap 1.1 asp.net 使用 xml c sharp
我也试图提前提供网络链接作为网络参考选项,但它说
架构不匹配
您能否给我一个带有XML链接的代码项目 aso.net SOAP 1.1的链接或任何分步方法如何处理该数据
<data>
<row>
<code>AAA</code>
<description>PIA </description>
</row>
<row>
<code>AAB</code>
<description>UK AIRline</description>
</row>
...........so on
</data>
您将无法使用 Soap 1.1 读取 xml 文件。
Soap 是一种协议(简单对象访问协议(,而不是文件类型。它碰巧使用 xml 作为映射对象层次结构的一种方式,但它无法获取 xml 文件并仅使用它。
像您尝试添加的 SOAP Web 服务使用 xsd 来定义架构,该模式由 WSDL 文件(Web 服务定义语言(表示。
最好的办法是对 xml 文件的 url 发出 Web 请求,然后在代码中处理该文件。
像这样:
var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://www.w3schools.com/ajax/cd_catalog.xml");
httpWebRequest.ContentType = "application/json; charset=utf-8";
httpWebRequest.Method = "GET";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
return streamReader.ReadToEnd();
}
}
编辑:要执行开机自检请求:
public static string RunHttpRequest(string url, object obj)
{
ServicePointManager.Expect100Continue = false;
var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.ContentType = "application/json; charset=utf-8";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
var json = JsoNify(obj);
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
return streamReader.ReadToEnd();
}
}
}
private static string JsoNify(object obj)
{
return JsonConvert.SerializeObject(obj, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
}