请原谅我这个基本的和一点理论问题,因为我对网络服务不太了解。
我没有引用WCF服务,我在.net / C#中提供简单的服务。我想知道如何知道它是肥皂还是休息服务?
我们如何才能将此类型从Soap更改为Rest,反之亦然?
由于
答案 0 :(得分:3)
XML Web Services(又名经典/旧版ASMX Web服务)应该不用于主动开发。如果必须,可以a nice walkthrough on MSDN在更新版本的Visual Studio(> 2005)中添加Web引用。
另一方面,如果您的Web服务真的是Restful,那么您将无法创建等效的服务引用。您需要使用来自.NET 4.5的HttpWebRequest
,WebClient
或新的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)服务转换为休息......