簡體   English   中英

從Java公開SOAP 1.2 Web服務,該Java服務調用另一個REST服務

[英]Expose SOAP 1.2 web service from java which calls another REST service

我是一名Python程序員,我們有一個Web項目的python后端,我們在其中使用Python Web服務器(Tornado)提供REST Web服務。

幾個月前,我們被要求為客戶端提供SOAP,令人驚訝的是Python 3的SOAP公開功能非常差。 我們嘗試了LadonTornadoWS軟件包,但兩者都有其局限性。 甚至其中一些會生成無效響應,該響應不符合相應的WSDL。

因此,現在我認為一種更好的方法是使用Java來構建SOAP接口,這將消耗我們Python后端的Web服務。 我有一些Java經驗,但是主要是使用Struts框架。 我需要找到一個輕量級但可高度自定義的解決方案。

提供JAVA soap接口的可能解決方案,該接口調用REST Python后端

我目前正在尋找的是:

  • 完全模仿客戶端現有WSDL上顯示的WSDL(客戶端將使用我們的服務,但他們希望進行最少的更改)。
  • 100%有效的soap / xml響應和WSDL! (令人驚訝的是,我們嘗試過的一些第三方Python軟件包會生成無效響應)。 SOAP服務將由.NET平台使用。
  • 我們需要最大程度地控制生成的WSDL的元素名稱和名稱空間,以便客戶端可以透明地切換到我們的Web服務。
  • 一種用於在Java中公開SOAP 1.1和1.2服務的輕量級解決方案,該服務可擴展為許多並發請求。
  • 該Java接口將調用我們的Python后端的REST Web服務。 所以我正在尋找特別適合此目的的東西。
  • 現在,我們將nginx +龍卷風用於REST Web服務,我正在尋找Java中的類似內容。 特別是解決c10k問題的東西。 基本上,Java接口所做的只是接受SOAP請求,並進行HTTP調用並返回這些響應。 因此,我認為期待類似Tornado之類的東西是合理的,它提供了無阻塞的網絡I / O,並且可以很好地擴展。

我知道這個問題可能不具有建設性,但是我確實在這里尋找一些好的意見,因為我沒有在網上找到信息(可能是由於搜索不力所致)。

我也歡迎其他可能的解決方案來解決我們的問題。

要使用您的Python REST服務,請查看以下答案:

調用沒有wsdl的Web服務

要創建SOAP服務,您應該使用Apache CXF和Spring框架(Spring MVC)。 請查看此示例以獲取詳細信息: http : //cxf.apache.org/docs/writing-a-service-with-spring.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM