远程服务器返回404错误。

3

代码

Web.config

<endpoint address="https://localhost/webapi/ProductData.svc/Secured"
          binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IProductData"
          contract="Client.IProductData" name="BasicHttpBinding_IProductDataSecured" />
<endpoint address="https://fow01003.fbce.local/webapi/ProductData.svc"
          binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IProductData1"
          contract="Client.IProductData" name="BasicHttpBinding_IProductData" />

控制器

client = new ProductDataClient("BasicHttpBinding_IProductData"); //This Works
client.Test(); // This fails

错误信息

异常: 没有端点在https://fow01003.fbce.local/webapi/ProductData.svc处接收消息。这通常是由于地址或SOAP操作不正确引起的。如有InnerException,请参阅更多详细信息。

InnerException: "远程服务器返回错误:(404)未找到。"

问题

如上所示,没有端点在监听。但是,当我访问https://fow01003.fbce.local/webapi/ProductData.svc时,它显示服务正在运行,并且我可以检查包含所有信息的wsdl。

(PS. FOW01003.fbce.local = localhost).

我应该采取哪些步骤以找出真正出了什么问题?


你是想通过代码从另一个虚拟机连接到你的服务,还是从托管服务的同一虚拟机连接? - LukeHennerley
同一台机器,WebAPI 通过 IIS 托管,并且据我所知一切正常。 - Theun Arbeider
1个回答

0

你是否已经打开了跟踪以获取有关错误的更详细信息? 至少为服务端进行配置(客户端也是个好主意;)然后你可能会得到一些有关404的提示。


我只收到了“https://fow01003.fbce.local/webapi/ProductData.svc/$metadata”上没有任何活动侦听的通道的输入。这并没有对我有太大帮助... - Theun Arbeider
你是否曾经创建过服务引用,而服务在此期间发生了变化?也许测试方法有所改变,导致出现了404错误。你可以尝试在客户端更新服务引用。 - Jan Köhler
我每次进行更改时都会更新服务,但是我发现web config文件中缺少一个连接,而我并不认为它会在这个位置搜索到它。 - Theun Arbeider

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接