【发布时间】:2011-10-19 18:21:18
【问题描述】:
我已在生产服务器上成功发布了 WCF 服务。我可以导航到该页面并查看默认的 WCF 页面。
我可以通过“添加服务引用”将服务添加到我计算机上的客户端。我也可以毫无问题地“更新服务参考”。
通过运行 VS2010 附带的默认调试器,确认该服务可以在有和没有客户端的本地计算机上运行。
当尝试调用服务方法(从服务器托管服务)时,我收到此异常..
没有可以接受消息的端点监听。这通常是由不正确的地址或 SOAP 操作引起的。有关详细信息,请参阅 InnerException(如果存在)。
内部异常...
{"远程服务器返回错误:(404) Not Found."}
我也尝试在服务器本身上运行一个客户端,看看我是否可以连接,但我得到了同样的错误。
我什至尝试只部署在您创建 WCF 服务库时为您创建的基本 WCF 服务(非常基本),没有进行任何更改,成功部署,并得到相同的错误。
我做错了什么?我已经走上了 IIS 配置、SSL 证书等的道路,但似乎没有任何解决办法。我觉得好像我在这里遗漏了一些非常基本的东西。
编辑客户端配置...
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://SERVER_NAME.DOMAIN_NAME.com/TestService/TestService.Service1.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService1"
contract="ServiceReference1.IService1" name="BasicHttpBinding_IService1" />
</client>
</system.serviceModel>
</configuration>
【问题讨论】:
-
你的绑定是什么,它是自托管的,绑定端口上有防火墙,对 http 来说不是问题吗?
-
感谢您的回复。请看上面。该端口在防火墙上是开放的,因为其他流量可以毫无问题地通过。
-
你的服务的配置文件是什么?这就是问题所在。