我有一个遗留应用程序,它目前使用SOAP接口来调用函数。
我希望将这个界面提供给一个网站,优先使用带有JSON方案的REST来完成。
我希望得到反馈并验证我对这个问题的解决方案的思考,如下所述:
为了从SOAP(XML)< - >进行转换REST(JSON)我打算使用以下组件:
亚马逊API网关:从我的网站接收包含基本有效负载数据的POST请求。
Lambda函数:API Gateway调用AWS lambda函数,该函数包含soap客户端软件包。该函数处理任何必要的转换和映射,Lambda函数向我的遗留SOAP服务发出请求。
SOAP服务:接收请求,执行所需功能并返回XML响应
Lambda函数:接收响应,解析所有需要的数据/处理任何错误,并将响应调用返回给API网关。
API Gateway:返回Lamdba函数调用的结果。
几个问题:
我不确定是否是直接向我的SOAP服务执行请求的Lambda函数,我假设这是一个封装的函数。这是对的吗?
Lambda函数是否将响应返回给网关请求?我相信这是正确的,因为函数可以同步执行,因此仍然会有上下文返回响应。
您通常会在API网关中处理初始入站请求中的任何身份验证检查,还是将请求完整传递给Lambda函数,然后我会执行并执行任何身份验证策略/检查?< / p>
答案 0 :(得分:3)
问题1&amp; 2:强> 是的,在Lambda函数中执行SOAP请求和转换是正确的。
问题3:要在API网关处理身份验证,您可以使用名为Custom Authorizer的单独Lambda函数。您还可以在Custom Authorizer Lambda函数中对API Gateway端点进行授权。