【问题标题】:How to call a Windows Service WCF Web Service Method through Browser如何通过浏览器调用 Windows 服务 WCF Web 服务方法
【发布时间】:2014-11-21 17:03:51
【问题描述】:

我有一个托管在 Windows 服务中的 WCF Web 服务。 WCF Web 服务将由基于 Java 的前端使用,该前端将进行 http 调用并接收 JSON 响应。我遇到的问题是,虽然我可以让 Web 服务运行,但如果我输入“mydomain.com/myservice/mymethod”,我会收到错误的请求。

Web 服务最初为服务端点设置了 mex,我再次尝试了相同的方法,但仍然没有运气。我取消了mex,但仍然没有运气。所有这些都是在 Windows 服务启动时设置的。 Web 服务仅使用 BasicHttpBinding。

所以,我的问题是:“如何通过浏览器使用托管在窗口服务中的 basichttpbinding 的 web 服务方法,以便非 .net 客户端使用它?”

谢谢

【问题讨论】:

    标签: java web-services wcf c#-4.0 wcf-binding


    【解决方案1】:

    WCF 使用 SOAP 作为其主要的本地通信协议。如果您的客户端不想使用 SOAP 进行通信,您可以轻松地将 WCF 服务设为 RESTFUL。请看以下内容:

    WCF REST Services

    理想情况下,全新的服务应该在 WebAPI 而不是 RESTFUL WCF 中实现。也可以看看

    REST WCF vs. WebAPI

    【讨论】:

    • 谢谢,但是在windows服务onstart方法中设置web服务时,有没有办法将端点定义为webhttpbinding?它只给我墨西哥?
    • 返回的mex数据只是绑定信息,因此您可以在客户端构建代理,并且您需要在某个地方有一个SOAP客户端,否则您将无法使用WCF服务。为您唯一合乎逻辑的前进方式是使您的 WCF 服务变得安静,并从您的浏览器 [在您的情况下为 java 客户端] 进行安静的调用。
    • 如果你真的不关心底层协议的类型你可以阅读hoonzis.blogspot.co.uk/2011/07/…
    • 如果提供的答案帮助您解决了问题,请将其标记为答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多