net中的SOAP web服务

本文关键字:服务 web SOAP 中的 net | 更新日期: 2023-09-27 18:27:55

请原谅我提出的这个基本的、有点理论性的问题,因为我对web服务了解不多。

我不是在引用WCF服务,而是在.net/C#中引用简单的服务。我想知道如何知道这是肥皂还是休息服务?

我们如何将这种类型从Soap更改为Rest,反之亦然?

感谢

net中的SOAP web服务

XML Web服务(也称为经典/遗留ASMX Web服务)不应用于主动开发。如果必须的话,MSDN上有一个很好的演练,用于在Visual Studio(>2005)的最新版本中添加Web引用。

另一方面,如果你的web服务真的是Restful,那么你将无法创建与之相当的服务引用。你需要使用.NET 4.5中的HttpWebRequestWebClient或新的HttpClient(也可以从Rest入门套件中获得,该套件也会贬值)。


作为一种替代方案,如果您希望实现一个能够处理这两种情况的客户端,我建议HttpWebRequestPOST到SOAP(非WCF)服务。此方法的问题在于,您可能必须自己将请求包装在SOAP包装器中。幸运的是,网上有这样做的例子,你至少可以把它作为一个起点。

ASMX服务是基于SOAP构建的。REST只是基于HTTP的,您可以访问(或调用)您的业务资源,就像访问普通URL一样。

对于产品目录系统中的ex,通过使用asmx可以创建一组功能来添加、更新和删除产品。如addProduct()、updateProduct等。

但在REST中,您将拥有单个访问点,如http:''mysystem''prodcuts。要检索、添加、更新、删除产品,您将在同一URL上使用相应的HTTP谓词(GET、POST、PUT、delete)。

因此,从技术上讲,不可能将asmx(SOAP)服务转换为rest…