当前位置: 首页 > 编程语言 > C#

创建wcf服务后,wsdl中如何判断是restful还是soap?分享

时间:2023-04-10 18:49:18 C#

创建wcf服务后,wsdl中如何判断是restful还是soap?我创建了一个服务然后我看到一个页面说:你已经创建了一个服务。要测试此服务,您需要创建一个客户端并使用它来调用该服务。您可以使用命令行中的svcutil.exe工具执行此操作,语法如下:但是您如何判断它是SOAP还是REST服务?我如何从wsdl等中分辨出来?服务配置:更新:嗨,马克,我的配置是:所以基本上我浏览到.svc文件,我看到一个指向wsdl的链接。但是我怎么知道SOAP或REST端点是否存在。我配置正确吗?谢谢更新:17:49(英国时间)marc_s更新:18:22(英国时间)Pete,试试这个-没有发布元数据,什么都没有-只是webHttpBinding-你不应该再看到任何WSDL......服务有效是的REST和SOAP的方式WCF服务可以有多个端点,包括SOAP和REST的混合。在WSDL上,SOAP端点将出现在wsdl:definitions/wsdl:service/wsdl:port元素中;REST端点不会。因此,如果服务中只有一个端点,如果WSDL中有wsdl:port条目,则它是一个SOAP端点;否则就是REST。您可以运行下面的代码并查看wsdl以查看它只显示SOAP端点的wsdl:port元素。publicclassStackOverflow_6414181{[ServiceContract]publicinterfaceITest{[OperationContract][WebGet]stringEcho(stringtext);}公共类服务:ITest{publicstringEcho(stringtext){returntext;}}publicstaticvoidTest(){stringbaseAddress="http://"+Environment.MachineName+":8000/Service";ServiceHosthost=newServiceHost(typeof(Service),newUri(baseAddress));host.Description.Behaviors.Add(newServiceMetadataBehavior{HttpGetEnabled=true});host.AddServiceEndpoint(typeof(ITest),newBasicHttpBinding(),"soap");host.AddServiceEndpoint(typeof(ITest),newWebHttpBinding(),"rest").Behaviors.Add(newWebHttpBehavior());主机.Open();Console.WriteLine("主机打开");Console.Write("按回车键关闭主机");控制台.ReadLine();主机.Close();}}如果你有一个WSDL——它是一个SOAP服务。REST没有WSDL。REST有一个类似的概念,称为WADL——Web应用程序描述语言(PDF格式的WADL规范)——但它不像SOAP的WSDL那样成熟和广泛使用。以上是C#学习教程:创建wcf服务后,如何判断wsdl中是restful还是soap?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: