回答
基於SOAP的服務使用與REST服務完全不同的一組約束來構建。如果服務很簡單,那麼這兩種方法的最終結果可能看起來有些相關,但實際上它們是兩種完全不同的方法。
我有一種可怕的感覺,情況就是如此。 –
SOAP和REST不僅在概念上而且是機械上不同。
從概念上講,SOAP方法幾乎是RPC,遠程過程。所以你的web方法看起來像「GetListOfCustomers」和「DeleteCustomer」。在REST中,您將客戶建模爲資源,並在這些資源上使用HTTP動詞。要獲取客戶列表,客戶端將發送HTTP GET,服務器將以XML,JSON,HTML或自定義格式返回客戶表示。例如,客戶代表可能會嵌入URL鏈接,允許客戶端代碼刪除客戶。這叫做HATEOAS
機械SOAP是一個位於HTTP之上的層。忽略和重新實現現有HTTP功能(如信封,動詞,緩存,編碼等)的層。與依賴所有這些HTTP功能的REST相反。所以機械REST更簡單,因爲SOAP沒有附加層。
當您被要求將現有的SOAP服務作爲REST使用時,它可能意味着純粹的機械方面。您可能需要「XML RPC over HTTP」,這將需要您做一些工作,但可能不如從SOAP/RPC重新設計API到REST/HATEOAS那樣困難。
非常感謝您的詳細回覆。我想我需要做一些閱讀,並期待一些漫長的夜晚。 –
-1您忘記了一些SOAP Web服務是基於消息或基於文檔的,而不是RPC。你也可以拋棄意識形態,堅持回答這個問題。 –
@John Saunders:它的WSDL SOAP綁定風格,可以是RPC或Document。編程模型大部分時間是RPC。但是謝謝你的評論,它和你的答案一樣有用。 – Dmitry
該解決方案將取決於您如何實施SOAP Web服務。
這不是一個「轉換」。你將會編寫一個基於REST的服務來完成你的SOAP服務所做的同樣的事情。如果您正確開發了您的SOAP服務,那麼您將能夠重用大部分代碼。然後,您將能夠部署能夠滿足這兩項要求的單一服務。
- 1. 將SOAP轉換爲REST
- 2. 將SOAP轉換爲REST?
- 3. 轉換Perl庫到SOAP
- 4. 參數轉換到REST
- 5. GraphQL的SOAP轉換
- 6. 從SOAP遷移到REST
- 7. 如何將REST Web服務轉換爲SOAP服務
- 8. WSO2 API Manager將JSON REST API轉換爲後端的SOAP/WSDL
- 9. 麻煩轉換SOAP到C#類
- 10. WSO2 ESB - Api到Soap的轉換
- 11. 將SOAP消息從VBA轉換到VB.Net
- 12. SOAP/REST API
- 13. Salesforce SOAP vs REST
- 14. REST vs SOAP evolvability
- 15. REST或SOAP
- 16. SOAP請求轉換錯誤
- 17. XML到SOAP轉型
- 18. REST/JSON/XML-RPC/SOAP
- 19. Rest API或Soap webservice
- 20. SOAP與REST和WSDL
- 21. REST和SOAP問題
- 22. WCF和REST和SOAP
- 23. 將Java代碼映射到SOAP和REST
- 24. 到JMS代理的SOAP或REST接口。 「JMS over SOAP」
- 25. REST vs SOAP - SOAP是否比REST更安全?
- 26. 轉換爲PHP REST CURL POST
- 27. 轉換REST URL文本
- 28. REST - 模型狀態轉換
- 29. jira-python轉換REST API
- 30. XSLT從REST API轉換XML
這取決於你當前的SOAP接口的功能 - 如果它只是通過一些標識符查找文檔,那不是太難......如果你插入/修改文檔......它仍然沒有太多問題...但是如果它是圍繞着消息而不是文檔發生的任何事情,那麼你就有一些工作要做。 – Joe