如何在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