rest - 用于 SOAP/REST 转换的 AWS API 网关和 Lambda 函数

标签 rest amazon-web-services soap lambda

我有一个遗留应用程序,当前使用 SOAP 接口(interface)来调用函数。

我希望将此接口(interface)提供给网站,最好使用带有 JSON 方案的 REST 来完成。

我希望获得反馈并验证我对解决此问题的想法,如下所述:

为了从 SOAP (XML) <--> REST (JSON) 进行转换,我计划使用以下组件:

  • Amazon API Gateway:从我的网站接收包含基本负载数据的 POST 请求。

  • Lambda 函数:API Gateway 调用包含 Soap 客户端包的 AWS Lambda 函数。该函数处理任何必要的转换和映射,并且 Lambda 函数向我的旧版 SOAP 服务发出请求。

  • SOAP服务:接收请求,执行所需功能并返回XML响应

  • Lambda 函数:接收响应、解析任何所需数据/处理任何错误并将响应调用返回到 API 网关。

  • API网关:返回Lamdba函数调用结果。

几个问题:

  1. 我不确定是否是 Lambda 函数直接向我的 SOAP 服务执行请求,我假设是这样,因为这只是一个封装函数。这是正确的吗?

  2. Lambda 函数是否将响应返回到网关请求?我相信这是正确的,因为该函数可以同步执行,因此仍然具有返回响应的上下文。

  3. 您通常会在 API 网关内处理初始入站请求的任何身份验证检查,还是将整个请求传递到 Lambda 函数,然后我将在其中进行和执行任何身份验证策略/检查?

最佳答案

对于问题 1 和 2: 是的,在 Lambda 函数中进行 SOAP 请求和转换是正确的。

对于问题 3:要在 API Gateway 上处理身份验证,您可以使用名为 Custom Authorizer 的单独 Lambda 函数。您还可以在自定义授权程序 Lambda 函数中对 API 网关端点进行授权。

关于rest - 用于 SOAP/REST 转换的 AWS API 网关和 Lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48523377/

相关文章:

node.js - 仅使用一个回调并行运行异步

c# - 如何干净地构建 MS Web Api 的 REST API 端点?

android - 我应该选择什么 AWS 开发工具包?

jQuery SOAP 可能在元素中没有前缀但在方法中带有前缀的调用

c++ - 使用 casablanca C++ Rest sdk 发送接收

linux - 如何在命令参数中放置 CodeBuild 环境变量?

django - 将数据库与弹性 beanstalk 一起使用

java - Web服务连接超时和请求超时的区别

java - 用于编辑完整 SOAPMessage 的出站 SOAP 处理程序

java - 在 Spring boot 和 REST API 中上传 multipart/form-data 文件