在浏览器中通过 URL 访问时找不到端点

Posted

技术标签:

【中文标题】在浏览器中通过 URL 访问时找不到端点【英文标题】:Endpoint not found when accessing via URL in a browser 【发布时间】:2013-06-14 10:55:10 【问题描述】:

当我输入我的服务地址时,我可以看到 WSDL 文件。但是,当我向 URL 添加后缀时,我收到错误消息:“找不到端点”。这肯定是由于我的服务模型声明有问题,但几个小时后,我倾向于承认它超出了我的范围。

我已确保命名空间是正确的,正如 here 所讨论的那样。

第一个 URL 有效。另一个,不要。

http://---.azurewebsites.net/MyService.svc/http://---.azurewebsites.net/MyService.svc/Pinghttp://---.azurewebsites.net/MyService.svc/Ping/(建议here)

行为中,我声明了两种行为——一种用于端点,一种用于服务。

<behaviors>
  <endpointBehaviors>
    <behavior name="PingEndPointBehavior">
      <webHttp/>
    </behavior>
  </endpointBehaviors>
  <serviceBehaviors>
    <behavior name ="PingServiceBehavior">
      <serviceMetadata httpGetEnabled="true"
                       httpsGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="true"/>
    </behavior>
    <behavior name="">
      <serviceMetadata httpGetEnabled="true"
                       httpsGetEnabled="true"/>
      <serviceDebug includeExceptionDetailInFaults="false"/>
    </behavior>
  </serviceBehaviors>
</behaviors>

我声明了以下绑定,以便通过浏览器中的 URL 行访问。

<bindings>
  <webHttpBinding></webHttpBinding>
</bindings>

services中我声明了两个端点(我也只测试了第一个端点)。

<service name="MyProject.MyService"
         behaviorConfiguration="PingServiceBehavior">
  <endpoint name="PingEndPoint"
            behaviorConfiguration="PingEndPointBehavior"
            address="Ping"
            binding="webHttpBinding"
            contract="MyProject.IMyService"/>
  <endpoint contract="IMetadataExchange" 
            binding="mexHttpBinding" 
            address="mex" />
</service>

我的配置文件中也有以下内容。怀疑它的重要性,但永远不知道。

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
                           multipleSiteBindingsEnabled="true"/>

【问题讨论】:

您在哪里托管 WCF 服务?是否在 IIS 上 @Rajesh 它是 Azure,但显然,这不是重点。我发现了问题。这是一个冗余问题? 【参考方案1】:

我已经解决了这个问题。显然,子目录的虚拟路径是累积的,所以暴露的服务一直都在,只是在下面的地址。

http://---.azurewebsites.net/MyService.svc/Ping/Ping

一个 ping 级别来自配置文件,另一个来自装饰方法接口的属性中的模板 URI。

【讨论】:

以上是关于在浏览器中通过 URL 访问时找不到端点的主要内容,如果未能解决你的问题,请参考以下文章

访问 xampp 中的 index.html 页面时找不到对象错误

使用 nestjs 角度通用设置时找不到 api/graphql

如何在 Spring Boot 中通过令牌自省端点实现令牌验证?

部署到 AWS lambda 时找不到模块 ./dist/server

Angular UI-Router,在 URL 刷新时找不到 [重复]

当 Cognito 重定向回我的 URL 时找不到刷新令牌