2014-11-17 58 views
0

我是Java SOAP Web服務的新手。我的問題是 -在java中暴露SOAP端點文件上傳

1)我如何公開和端點與SOAP,WSDL定義總是需要? WSDL的內容是什麼?

2)我的web服務如何知道它必須除了字節數組?在REST中,很容易獲得使用Multipart

提交的文件3)編寫SOAP服務器的過程是什麼,configurations?對於使用SPRING REST,它被聲明servletTransport BeansserverContext.xmlweb.xml得到「servlet映射」

4)另外,我需要知道一個不能使用REST web service

5)在SO的情況下,我閱讀REST and SOAP are not mutually exclusive. A RESTful architecture may use HTTP or SOAP as the underlying communication protocol。怎麼樣?

+0

推薦你去谷歌搜索結果,如果你沒有得到你所期望的結果 – spiderman

+0

@spiderman我期待着這個答覆。我從恐慌中發佈了這個問題。我只有一天的時間做我的工作,所以我驚慌失措。需要時間和理解我自己。但是,如果你告訴我第二點,這將會非常有幫助。如何使用文件? –

回答

1

1)使用SOAP的端點不需要需要 WSDL來操作,但它幾乎總是存在,因爲它與web服務緊密耦合。 WSDL包含了服務的外觀描述,基本上包括哪些輸入和輸出參數,它們的類型等。實際上暴露端點通常是服務器的任務,因此它將取決於您正在運行的軟件。

2)在SOAP,您可以使用多部分以及(谷歌的XOP + MTOM),但除非你是在說真的文件,你可能會使用的字節[] base64編碼字符串。根據框架,這並不是你關心的問題,因爲框架會看到你正在嘗試獲取一個byte [],並且會自動生成base64字符串。 3)不知道春天,但對於Java EE,規範是JAX-WS。它幾乎與JAX-RS(其他)服務一樣容易,但還有一些額外的事項需要記住。

4)REST比SOAP更容易,但SOAP具有WSDL的巨大優勢。這允許客戶端生成,從而縮短開發時間。 REST有WADL,但它還沒有。出於這個原因,SOAP實際上幾乎是業務級Web服務的事實標準。 5)REST始終是HTTP,因爲它基本上重用了整個HTTP「堆棧」(例如http認證等)。然而,SOAP可以運行在任何東西上(例如JMS,HTTP,...),但實際上人們幾乎只在HTTP上使用它。然而,因爲它不能依賴於固定的協議,它已經徹底改變了每一個輪子。儘管REST重用了HTTP認證,但SOAP還有一個規範要遵循(WS-Security)。有許多WS- *標準。