在访问WCF服务时找不到默认端点元素

时间:2016-07-21 05:59:01

标签: wcf wcf-binding endpoint

我无法在http://192.168.100.87:7001/ProductRESTService.svc/使用IIS.i.e中托管的wcf restful服务。

我创建了一个客户端应用程序并添加了服务引用并创建了服务代理并访问了使用prxoy。

错误是:

  

无法在ServiceModel客户端配置部分中找到引用合同“ServiceReference2.IProductRESTService”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。

我的web.config服务文件正在关注。

 <system.serviceModel>
    <services>
        <service name="MyRESTService.ProductRESTService" behaviorConfiguration="serviceBehavior">
            <endpoint address=""
                      binding="webHttpBinding"
                      contract="MyRESTService.IProductRESTService"
                      behaviorConfiguration="web"></endpoint>
          </service>
   </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="serviceBehavior">
                  <serviceMetadata httpGetEnabled="true"/>
                  <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>        
      </serviceBehaviors>
      <endpointBehaviors>
          <behavior name="web">
                <webHttp/>
            </behavior>
      </endpointBehaviors>
    </behaviors>
    <protocolMapping>
        <add binding="basicHttpsBinding" scheme="https" />
    </protocolMapping>    
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

嗨,请检查我的客户端配置文件。

 <configuration>
    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>

  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_ICreate_Restful_WCF_Service"/>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://192.168.1.xxx:2777/ProductRESTService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ICreate_Restful_WCF_Service" contract="ServiceReference1.IProductRESTService" name="BasicHttpBinding_ICreate_Restful_WCF_Service"/>
    </client>
  </system.serviceModel>

</configuration>

1 个答案:

答案 0 :(得分:0)

为什么使用客户端应用程序进行休息服务?对于休息服务,我们可以通过httpWebRequest直接调用它。添加服务引用使用WSDL或ws-metadataExchange,其余没有元数据。如果您使用添加服务引用,它将不会生成任何app.config设置,它将产生此错误。如果您想尝试添加服务引用以使用wcf服务,则需要使用soap服务而不是休息服务。