REST WCF的WSDL

我通过在web.config中指定WebGET和WebHttpBinding,在C#中创建了一个REST WCF。 该服务通过IE工作正常。 我的wsdl从下面开始,它在wsdl中有soap。 由于这是REST,因此不应该在wsdl中存在肥皂。

WSDL:

  <?xml version="1.0" encoding="utf-8" ?> 
 <wsdl:definitions name="ServiceImp" targetNamespace="http://tempuri.org/"    
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
    xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" 
    xmlns:tns="http://tempuri.org/" 
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" 
    xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" 
    xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" 
    xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" 
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" 
    xmlns:wsa10="http://www.w3.org/2005/08/addressing" 
    xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex">

在上面的wsdl中,由于这是HTTP,为什么肥皂内容会进入REST服务?

谢谢,Vinoth Khanna.S


WCF无法描述REST服务。 REST服务可以用WADL或WSDL 2.0来描述,但WCF不支持任何这些描述语言。


如上所述,REST没有WCF中的WSDL概念,只有SOAP。 如果?wsdl的URL有效,那么您可能在您的配置中定义了一个'mex'(元数据交换)端点,这是WSDL的服务内容。 如果您通过VisualStudio向导添加WCF服务,通常会默认添加此项。 如果它在那里,如果你不打算使用SOAP,它可以被删除。 它通常看起来像这样:

<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />

在附注上; 有可能让WCF提供与SOAP和REST相同的服务,如下所述:WCF服务的REST / SOAP端点

链接地址: http://www.djcxy.com/p/71387.html

上一篇: WSDL for REST WCF

下一篇: Use SOAP or REST for a new Api