我有两个系统,一个(让我们称之为S1)暴露RESTful API(让我们称之为WS1)和另一个(让我们称之为S2)暴露SOAP API(让我们称之为WS2)。
我正试图找出一种从S1获取数据并将其添加到S2中的方法。 WS1公开了添加/获取数据(进入/来自S1)的方法,而WS2只有添加数据的方法(进入S2)。
这两个Web服务是否可以直接相互通信,或者两者之间是否存在某种机制。我的猜测是“有人应该管理他们的讨论”。
答案 0 :(得分:4)
你有一个REST Server
和一个SOAP Server
,他们的目标都是等待来自各自客户的请求 - 他们实施的操作是否读取和/或写入并不重要数据集,客户端仍然需要发起通信。
因此,您需要一个桥接客户端来请求从REST服务器读取内容并请求将某些内容写入SOAP服务器。桥梁的其余基础设施由您决定。
您可以编写一个轻量级脚本来提取RESTful数据并为少数特定RESTful资源推送SOAP消息,或者您可以编写一个通用REST2SOAP桥,它可以根据转换约定将RESTful资源映射到SOAP消息端点。
编写抽象桥接客户端将允许您通过直接调用REST服务,接收数据,处理数据,直接调用SOAP服务并向其发送数据来运行它。如果这是一个很好的低负荷情况。
如果我们有大量的数据来处理同步处理的事情是不可行的,那么我们引入消息队列。
消息队列的总体优势在于,您可以根据需要启动尽可能多的生产者或使用者,具体取决于哪些服务运行速度较慢。