2016-02-24 101 views
1

我們正在設計一個Java中間件Web應用程序,像ESB,比如IBM消息代理或騾子。
我們有許多Oracle EBS接口(SOAP Web服務),現在Salesforce CRM希望通過中間件應用程序調用EBS接口。 Slaesforce CRM通過rest json調用中間件,中間件通過SOAP webservice調用EBS。下面的圖片可以幫助你瞭解我的意思。 enter image description here 我們已經拼命花了很多天用Spring Integration來設計中間件。但是我們發現很難做到這一點。我們仍然需要爲每個EBS接口(每個帶有jar文件的wsdl)生成一個jar文件(通過CXF),然後通過傳統的Web服務方式調用EBS接口。 我們不想爲每個EBS接口生成webservice客戶機jar文件。 Spring集成是否適合這個(不爲每個WSDL生成jar文件,只是一些配置或不太多的編碼)?如果沒有,你可以推薦一些其他產品嗎? 非常感謝您提前。Spring集成是否適合企業應用程序集成?

回答

1

對於SOAP交互Spring Integration提供了完全基於Spring WS項目的WS模塊。

如果您只是可以使用Spring集成的<int-ws:outbound-gateway>來調用Oracle ESB服務,我看不到產生原因的原因。

爲此,您只需要知道爲請求構建哪個XML以及從響應中解析哪些XML。

對我來說這似乎足以讓您瞭解服務WSDL並從SOAP UI調查它。

如果我是你,我會忘記CXF,當我們與Spring :-)。

+0

謝謝阿爾喬姆的回答。你的意思是我可以通過Spring WS調用Oracle EBS服務而不生成jar文件?但是Oracle EBS接口SOAP請求xml非常複雜,很少有許多無用節點的有用節點。 – Rockystech

+0

正確。所以,我猜你確實可能會爲'useless'標籤創建一些XML模板,並使用相同的Spring Integration和它的XML模塊插入'useful'。 –

0

API網關是一個可以在這裏使用的產品。通常,它充當客戶端和應用程序之間的代理,但它也可以在JSON和XML之間進行轉換,這在REST到SOAP轉換中會發生。

MuleESB,雖然不是一個網關也可以用於此目的,看到這個鏈接How to convert SOAP web service to REST web service in Mule

0

我們通過我們自己這樣做。 我們用Java自己開發了中間件。 我們使用java和freemarker模板將json請求轉換爲所需的soap信封體。然後使用apache httpclient調用Web服務(oracle EBS)。

相關問題