2011-12-02 147 views
1

我正在開發一個使用WCF Web服務數據的應用程序,但數據需要從不同供應商提供的不同服務器應用程序中檢索。SOAP Web服務開發支持

問題是什麼編程語言支持從已存在的WSDL開發Web服務?

例如在.NET中,您可以使用「wsdl.exe/serverInterface」來生成服務器接口。見Implementing Service Interface

在Java中看到:Top Down Java Bean Web Service

但我不希望供應商能夠連接到一個明確的TECNOLOGY。

+0

其實,wsdl.exe是傳統技術。您應該使用svcutil.exe或「添加服務參考」。 –

回答

1

...我不希望供應商被附加到明確的技術。

你正在服用有關Web服務。使用Web服務的想法是它允許異構機器(和技術)之間的交互。

爲了使交互發生,機器不需要使用相同的編程語言或技術。重要的是使用的協議。在你的情況下SOAP。

該協議定義的通信接口或合同。對於Web服務,接口由Web服務描述語言(您的WSDL)描述。

WSDL是在(或多或少)人類可讀的格式,但更重要的是在一臺機器可處理的格式。這個想法是,您使用WSDL來生成尊重合同的代碼/類;在服務器端他們被稱爲Skeletons,而在客戶端則是Stubs。

很多編程語言有手段或工具來生成從WSDL存​​根/骨架但同樣,這不是重要的組成部分。 重要部分是尊重合同

WSDL只允許您自動創建一些樣板代碼。使用WSDL創建服務器/客戶端並不是強制性的,因此可以使用任何技術(無論是否使用WSDL)。

只要你這樣做,你就不會將自己附加到顯式技術上。所以在你提到的「WCF Web服務」中,你可以刪除「WCF」這個詞。

只有照顧你必須採取與系統之間的接口。您必須確保Web Services Interoperability,因爲我們不住在一個理想的世界中,並且如果您不小心的話,技術棧中的某些細節「可能會泄露」合同。