我已在我们的生产服务器上成功发布了WCF服务。我可以导航到该页面并查看默认的WCF页面。
我可以通过“添加服务引用”将服务添加到计算机上的客户端。我也可以“更新服务参考”,没有任何问题。
通过运行VS2010附带的默认调试器,确认该服务可以在我的本地计算机上使用和不使用客户端。
尝试调用服务方法(来自服务器托管服务)时,我收到此异常..
没有端点侦听可以接受该消息。这通常是由错误的地址或SOAP操作引起的。有关更多详细信息,请参阅InnerException(如果存在)。
...的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>
答案 0 :(得分:0)
要检查的一些陷阱:
1)检查配置文件中的服务URL是否正确。这包括协议。它最近发生在我身上:.config文件有“http://”,网络服务器只能通过HTTPS访问。
2)在IIS上禁用“所需的客户端证书”设置。
3)如果您的服务位于asp.net应用程序中,请检查是否存在任何身份验证/授权限制。允许匿名访问.SVC