2012-07-31 66 views
0

我剛剛開始了我的web服務之旅,現在我有很多問題。有很多事情我不清楚,所以一些澄清會非常有幫助。Spring-WS,REST,SOAP,HTTP,JMS

  1. 爲什麼創建Spring 3 REST應用程序時不使用@Endpoint註釋?
  2. Spring REST Web服務是否也創建了一個.wsdl?
  3. SOAP和REST有什麼區別?
  4. 如何發送請求並通過SOAP web 服務接收響應?
  5. 您如何發送請求並通過REST網絡 服務接收到響應?
  6. 是否有可能在Spring中使用JMS來公開REST或SOAP Web服務?
  7. 在一個...問題

回答

4

太多的問題,但這裏的一些概述:

爲什麼不創建Spring 3 REST應用程序時使用的@Endpoint註解?

對於REST,您可以使用外部JAX-RS框架或Spring MVC。 Spring中的REST端點基本上是控制器,這就是它們的註釋方式。 @Endpoint是在spring-ws模塊中引入的,它們並不真正相關。

Spring REST Web服務是否也創建了一個.wsdl?

不,傳統上WSDL僅用於描述SOAP Web服務。 REST Web服務有,Spring不是(yet)自動生成它。

SOAP和REST有什麼區別?

非常寬泛的問題。原則上SOAP通常通過HTTP POST使用定義明確的XML消息。 REST本質上連接到HTTP動詞,如GET,POST,PUT,內容協商,HATEOS ......它與HTTP協議關係更密切,而且更加靈活。

如何發送請求並接收SOAP Web服務的響應?

任何能夠通過HTTP POST發送XML的客戶端都可以與SOAP服務進行交互。通常,您將基於WSDL創建Java客戶端(REST並不那麼簡單)。

如何發送請求並通過REST Web服務接收響應?

與上面相同,但通常您可以使用不同的內容類型,如JSON。你也必須使用不同的HTTP方法來運行不同的功能。

是否有可能使用Spring的JMS公開REST或SOAP Web服務?

不知道你想達到什麼...從技術上講,你可以使用JMS作爲SOAP的傳輸層(不適用於REST),但這種方式在開始時太過先進。

+0

謝謝你,很好的答案。 – ThreaT 2012-08-01 07:20:29