如何在.net中创建服务,SOAP Web服务?

时间:2012-03-15 01:51:34

标签: c# .net rest soap

请原谅我这个基本的和一点理论问题,因为我对网络服务不太了解。

我没有引用WCF服务,我在.net / C#中提供简单的服务。我想知道如何知道它是肥皂还是休息服务?

我们如何才能将此类型从Soap更改为Rest,反之亦然?

由于

2 个答案:

答案 0 :(得分:3)

XML Web Services(又名经典/旧版ASMX Web服务)应该用于主动开发。如果必须,可以a nice walkthrough on MSDN在更新版本的Visual Studio(> 2005)中添加Web引用。

另一方面,如果您的Web服务真的是Restful,那么您将无法创建等效的服务引用。您需要使用来自.NET 4.5的HttpWebRequestWebClient或新的HttpClient(也可以从Rest初始化工具包中获得,也可以使用它。)


如果您希望实现能够处理这两种情况的客户端,我建议{@ 1}} POST 到SOAP(非WCF)服务。此方法的问题是您可能必须自己将请求包装在SOAP包装器中。幸运的是,网上有examples这样做,你至少可以作为起点。

答案 1 :(得分:1)

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

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

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

所以,从技术上讲,不可能将asmx(SOAP)服务转换为休息......