2010-09-21 18 views
7

我使用WCF通過.svc文件在.NET中創建了一個寧靜的Web服務。 Web應用程序自動生成一個WSDL文件。 AFAIK,WADL對於寧靜的網絡服務更自然。使用WADL代替WSDL的.NET中的穩定服務

如何在.NET中創建一個寧靜的服務(最好使用wcf)來產生WADL描述?

注意只要您指出合適的手冊/教程,就會接受類似「RTFM」的答案。

回答

0

原諒我用一個問題回答一個問題,但是你真的想要做REST嗎? REST實際上不需要像WADL這樣的東西。


更新:

的「超媒體的約束」(又名HATEOAS)決定了基於嵌入在先前檢索的內容的鏈接的用戶代理髮現的內容。確實沒有必要有一個單獨的文件來描述所有可用的內容。

想象一下,使用網絡瀏覽器訪問網站,而不是進入主頁並從那裏瀏覽,您會看到一個頁面,該頁面是網站上所有網址的列表。然後,您必須查看可用的URL列表,選擇您感興趣的URL並將其複製到地址欄中。
WADL實際上是您的網站網址列表。如果您的主要內容鏈接在一起,您就不需要它。

鏈接內容而不是使用WADL「站點地圖」具有其他優點。可用鏈接可以基於內容中的特定數據值動態變化。這種功能可以極大地降低客戶端的複雜性,因爲客戶端不再需要託管邏輯來決定何時允許遵循鏈接。

+3

如維基百科說:「Web應用程序描述語言(WADL)是基於XML的文件格式,其提供基於HTTP的Web應用程序的機器可讀的描述[...] WADL的目的是允許互聯網(或任何其他IP網絡)上的服務以機器可處理的方式進行描述,以便更容易地創建Web 2.0風格的應用程序,並創建一種創建和配置服務的動態方法。在此之前,有必要到現有的Web服務,研究它並手動編寫應用程序。「 – lmsasu 2010-09-22 06:49:03

+0

因此,這個問題......雖然WSDL可以很容易地使用像svcutil這樣的工具,但我也希望能夠生成一個對開發人員可能有用的WADL文檔。聲稱WSDL更適合於WSDL的一個安靜的WS。我錯了嗎? – lmsasu 2010-09-22 06:52:06

+1

我看到你的答案從http://stackoverflow.com/questions/2689122/how-to-generate-restful-client-in-java-for-rest-defined-in-wsdl/2691081#2691081 - 和評論「如果客戶依賴於在設計時獲得的服務描述,那麼你的系統就是RESTful「 - 我猜這就是你的意思? – lmsasu 2010-09-22 08:36:25

4

看起來像REST Describe & Compile應該做的伎倆。

在WADL開發者網站馬克·哈德利 保持命名 WADL2Java一個命令行工具。 REST的雄心勃勃的目標 描述&編譯是提供WADL2Anything的排序 。那麼REST 描述&編譯確實是它:

  • 在一個完全互動的方式生成新的WADL文件。
  • 允許您上載和編輯現有的WADL文件。
  • 允許您以各種編程 語言將WADL文件編譯爲源代碼。
8

這是一個老問題,但用WADLs消費寧靜的服務,他們確實提供了一些價值。您可以直接將它們導入到SOAPUI中,它會自動爲您構建一個測試套件。其次,它們傾向於包含基於XML的服務所需的所有XSD,並且可用於自動構建終端接受和接收的可序列化類。

+0

這是一個非常有用的答案。如果您瞭解關於此主題的一些教程,請隨時將它們添加到上面的答案中。 – lmsasu 2013-09-06 09:13:43

+1

對不起,我剛剛通過反覆試驗發現了這些東西。對於肥皂用戶界面,您只需創建一個新項目,然後選擇一個WADL文件,就像爲SOAP服務選擇一個WSDL一樣。 – 2013-09-06 17:35:41

+2

我認爲這個問題是問如何在.NET中生成WADL而不是WSDL 。你有解決方案嗎? – crush 2015-02-03 22:13:17