如何在Windows 8.1应用程序和Windows Phone 8应用程序中使用SOAP?
是否有一些方法可以创建SOAP请求并在.net-4.5中获取SOAP响应? 如果有必要,我应该安装哪些扩展?
您可以通过Visual Studio中的“添加服务引用”function使用SOAP服务。 在幕后,这将调用svcutil
将.wsdl
转换为.cs
服务原型。
.Net Framework包括WCF,它是较新的和推荐的网络通信框架,以及.Net Remoting,它与一些非.Net SOAP端点更兼容。
看到
- WCF简介(MSDN)
- 这是对从SOAP角度解决WCF的类似问题的回答
- 演练:创建和访问WCF服务(MSDN)
- 什么是WCF中的WSDL URI?
- 将自定义[SOAP]
MessageHeader
添加到WCF调用(MSDN博客)
例
对于位于http://www.webservicex.net/currencyconvertor.asmx?WSDL的服务:
- 生成客户端代理
svcutil http://www.webservicex.net/currencyconvertor.asmx?WSDL
- 重命名生成的配置
move output.config program.exe.config
- 创建测试客户端:
Program.cs :
using System; using www.webservicex.net; class Program { public static void Main(string[] args) { var client = new CurrencyConvertorSoapClient("CurrencyConvertorSoap"); var conv = client.ConversionRate(Currency.USD, Currency.EUR); Console.WriteLine("Conversion rate from USD to EUR is {0}", conv); } }
- 编
csc Program.cs CurrencyConvertor.cs
- 跑:
c:\Drop\soaptest>Program.exe
Conversion rate from USD to EUR is 0.7221