如何通过浏览器调用Windows服务WCF Web服务方法

问题描述:

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

Web服务最初为服务端点设置了mex,我又试了一次,但仍然没有运气。我把mex关了,但仍然没有运气。所有这些都是在Windows服务的开始时设置的。该Web服务仅使用BasicHttpBinding。

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

谢谢

WCF使用SOAP作为其主要本地通信协议。如果您的客户端不想使用SOAP进行通信,则可以轻松地使您的WCF服务RESTFUL成为可能。看一看下面:

WCF REST Services

全新的服务最好应在的WebAPI而不是RESTFUL WCF实现。也看看

REST WCF vs. WebAPI

+0

谢谢,但有没有办法在Windows服务的OnStart方法建立在Web服务定义端点的WebHttpBinding?它只给我mex? – Andy5 2014-09-26 16:13:14

+0

返回的mex数据只是绑定信息,因此您可以在客户端构建代理,并且您需要有一个SOAP客户端,否则您将无法使用WCF服务。对于您来说,唯一合乎逻辑的方法是你的WCF服务很安静,并从你的浏览器[你的案例中的Java客户端]进行平静的调用。 – MHOOS 2014-09-26 16:18:12

+0

如果你真的不关心底层协议的类型,你可以阅读http://hoonzis.blogspot.co.uk/2011/07/consuming-wcf-services-with-java-client.html – MHOOS 2014-09-26 16:22:16