0

我在 VS 2010 中开发了 WCF 服务(3.5)。通常我可以通过WCF 测试客户端对其进行测试,并从任何浏览器调用该服务。我在我的 Windows 7 开发机器上,所以一切都是默认的。地址就像http://localhost:54538/MyService.svc

但是,当我尝试从第三方客户端(最终是我的目标)调用服务时,客户端根本没有得到任何响应。响应只是的。我还尝试通过 PHP curl 从本地 Apache 网络服务器调用该服务 - 也是一个空响应。

所以我认为配置可能有问题。服务部分是:

<services>
  <service behaviorConfiguration="MyNamespace.Service1Behavior" name="MyNamespace.MyService">
      <endpoint address="" binding="wsHttpBinding" contract="MyNamespace.IMyService">
          <identity>
              <dns value="localhost" />
          </identity>
      </endpoint>
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
</services>

我是否必须添加端点或更改其他任何内容?

4

1 回答 1

0

所以我找到的解决方案(基于@marc_s 的评论)是添加另一个端点作为 webHttpBinding:

<endpoint address="rest" binding="webHttpBinding" contract="MyNamespace.IMyCometService" bindingConfiguration="UnsecuredWeb">
    <identity>
        <dns value="localhost"/>
    </identity>
</endpoint>

然后通过第三方软件调用服务http://localhost:54538/MyService.svc/rest

于 2013-10-02T06:23:24.877 回答