2009-11-17 30 views

回答

2

WCF是一個Web服務框架。 Java也提供了自己的Web服務框架。他們應該能夠很容易地進行互操作,但如果你想得到更好的答案,你需要提出更具體的問題。

編輯:你問的ProjectTango鏈接約說,這一切在第一段:

...確保 企業功能,如安全性, 可靠的消息,和原子 交易的互操作性。

這些花哨的補充基本的Web服務,以及單獨的規格是不夠的,確保兼容性。

基本的web服務交互,這是我們需要的所有99.9%,將在WCF和Java之間工作得很好。

+0

我用google搜索了一下,現在我已經發現了這個案例中的「Project Tango」。爲什麼要開發一個新的項目,就像你說的那樣容易? – tobias 2009-11-17 21:54:49

+0

鏈接:http://java.sun.com/developer/technicalArticles/glassfish/ProjectTango/ – tobias 2009-11-17 21:55:20

2

簡答,是的。
Long答案,互操作性取決於幾個因素。基本的互操作性非常簡單。只有當你拋出諸如安全等因素變得複雜的因素時。我們對可用的Java Web服務框架進行了一些研究,發現最適合我們場景的是metro stack以及netbeans 6.5 IDE。我們實現了使用客戶端/服務器雙向證書認證的項目強制性的消息安全性。

在這個過程中發現的一些問題是:
- 您必須在netbeans項目中添加來自glassfish目錄的webservices-rt.jar庫。 (不需要glassfish運行,只是jar文件)
- WCF生成多文件WSDL文件,netbeans不能使用它們生成代理,但如果netbeans配置爲使用URL(http://../?wsdl),它可以生成代理。
- 您必須在WCF中的所有數據成員上放置[IsRequired = true]。 Java對可選數據成員的處理非常複雜。 - 作爲數據成員的字典出現在列表中

0

您可以在Java端使用JAX-WS服務,然後在.NET中使用WCF。

首先創建JAX-WS服務(glassfish庫將允許您執行此操作)。創建POJO,添加JAX-WS註釋並部署WAR。然後,獲取服務器生成的WSDL並將其提供給VisualStudio。 VisualStudio可以爲您生成客戶端。

這是簡單的方法,但你的里程會有所不同。

1

我們已經成功完成了幾個項目。我們使用WCF basicHttpBinding,這是最簡單的選擇,如果你只需要讓它工作。

可以成爲顯示屏的一個事情是服務使用特定於平臺的數據類型,如Java矢量或.net數據集。