2016-02-24 73 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)。

相关问题