2014-09-26 157 views
0

我有一個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客戶端使用它?」

謝謝

回答

0

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