2011-01-06 65 views
7

我可以使用SOAP和WSHttpBinding對WCF服務進行JQuery調用嗎?您可以使用SOAP和WSHttpBinding對WCF服務進行jQuery調用嗎?

如果是這樣,怎麼樣? (網絡上的任何示例?)如果不是,爲什麼不呢?

正如你所見,從this post,我無法得到它的工作。

我需要能夠使用WSHttpBinding,所以我可以支持SAML和WS-Security。我的理解是basicHTTPBinding不支持ws-Security。

SO上的所有其他示例使用json(我可以輕鬆工作)或basicHttpBinding。

我需要使用SOAP和ws-Security來符合OGC 07-118r8標準。

+1

我認爲jQuery的已經變得如此受歡迎,人們正在嘗試做的JS方太很多服務器端的東西。您需要定義邊界並確定明確區分這兩個世界的線條。 – 2011-01-06 22:16:42

+0

如何使用JavaScript調用Web服務? – capdragon 2011-01-07 13:57:23

回答

3

像WS- *和WCF的複雜性,是不是更容易創建一個簡單的jQuery異步回調到您網站上的另一個頁面,可以利用.NET內置的WS-Security庫?從那裏你可以發起一個對WCF端點的調用,處理結果,並將其作爲易讀的響應返回給jQuery函數。

我發現了一些文章,提到你正在嘗試做什麼。這聽起來像你基本上必須編寫自己的WS-Security jQuery庫,然後才能直接使用JavaScript(並且我認爲這對你來說可能不切實際):

「使用」wsHttpBinding「綁定實現的服務實現了WS- Web服務規範的WS- *系列的安全性由於綁定使用安全性,請求將被拒絕,如果沒有在JQuery端實現WS-Security,服務就不能被調用,因此,爲了調用服務方法,我們必須妥協與安全。「

http://www.codeproject.com/Articles/311908/Calling-WCF-service-exposed-with-different-binding

「...的wsHttpBinding,這是一個SOAP綁定不會與AJAX的工作。」

http://www.west-wind.com/presentations/jquery/jquerypart2.aspx

1

沒有辦法在JavaScript中實現WS *!

最佳選擇是在服務器上創建另一個綁定,並將其公開爲基本HTTP或甚至更好地作爲WCF REST。

+0

不是一個選項...客戶需要通過WS- *與我溝通,而不是休息。我們被要求遵循我的問題中提到的標準。 – capdragon 2011-01-07 13:59:01

0

理論上應該是可能的。我假設你已經想出瞭如何獲得SAML令牌並處理WS-Security。 WSHttpBinding默認爲soap1.2,所以或者看一下http綁定規範,找出如何使用jquery構建請求:http://www.w3.org/TR/soap12-part2/#soapinhttp或在WSHttpBinding上設置EnvelopeVersion.Soap11。祝你好運!

相關問題