是否可以直接在API管理器中将SOAP服务作为REST API发布?是否可以在调用SOAP时转换调用并将REST公开给最终用户?
如果可能,怎么样?
感谢。
答案 0 :(得分:1)
这可能就是你要找的东西。这可以如下所述完成。
如果您想以RESTful方式使用相同的API公开多个操作,可以使用以下指南修改post中的序列。
1)在API Manager中设计REST API时,创建一个请求URI以映射到后端SOAP服务中的每个操作。
2)使用过滤器中介(在编程中充当条件语句),您可以从请求URI(操作)中过滤掉并相应地构造所需的有效负载。
对应于映射后端Web服务的各种操作,将重复以下块。
这里的逻辑是,如果API的请求URI是到SOAP服务的操作Y的X路由。
<tr>
有关上述用例的更多信息,您可以参考此post作为参考,了解如何使用此类自定义扩展序列来映射后端SOAP Web服务操作。有了这个,您就可以直接将其公开为REST API
或者您可以在WSO2 API Cloud或WSO2 API Manager中创建基于SOAP的API,然后将请求有效负载与SOAP Action标头中发送的SOAP操作一起传递,以便您可以调用后端Web的不同操作服务。您可以在下图中看到它的使用方式。
Managing WSDL operations using a single API
希望这有帮助。
问候。
答案 1 :(得分:0)
是肯定的。您可以参考此blog post作为参考。请注意,可能存在一些差异,因为这是为API管理器Alpha版本编写的。然而,这是一个很好的切入点。