MVC中的SOAP Web服务 - 未找到路径控制器或未实现IController

时间:2013-08-27 14:38:32

标签: c# asp.net asp.net-mvc web-services soap

我们在[网站] /Api/HmlApi.svc/soap上有一个网络服务,通常可以正常工作。它不是SSL。

在此特定网站中,我们可以在浏览器中看到.svc页面,但尝试访问此服务的客户端应用程序会收到http 404错误。端点未找到。

网站的配置如下。

<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true">
</serviceHostingEnvironment>
<!--Set up the service-->
<services>
  <service behaviorConfiguration="SOAPRESTDemoBehavior" name="HmlApi">        
    <endpoint address="soap" binding="basicHttpBinding" contract="VLSCore2.Interfaces.IHmlApi" />
  </service>
</services>
<!--Define the behaviours-->
<behaviors>
  <serviceBehaviors>
    <behavior name="SOAPRESTDemoBehavior">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
  <endpointBehaviors>
    <behavior name="SOAPRESTDemoEndpointBehavior">
      <webHttp />
    </behavior>
  </endpointBehaviors>
</behaviors>

网站上的日志有以下错误:

/Api/Hmlapi.svc/soap - The controller for path was not found or does not implement IController

这对我指的是正确的网址 - 我们正在访问该网站,我们可以访问svc,但不知何故它不会像上面的配置中那样正常设置到soap端点。

为什么在这个网站的情况下它可能不起作用的任何想法?还有什么我们可以检查的吗?

1 个答案:

答案 0 :(得分:0)

确保您已正确配置WebApi路由配置。您可以在Global.asax.cs中使用它们,或者如果您位于MVC4或MVC5项目中,则可以在App_Start文件夹中使用WebApiConfig.cs。

如果您正确配置了路由,那么您是否将服务配置放在正确的配置文件中?

问候!