Pol*_*lle 6 xml amazon-web-services xml-parsing aws-lambda aws-api-gateway
我有一个 lambda 函数,它向 API 网关返回一个字符串(xml 到字符串)。现在 API 网关返回字符串,但它不是有效的 XML。我已经将内容类型设置为 application/xml。
XML 如下所示:
"<TEST xmlns:ns0=\"https://www.w3.org/2001/XMLSchema-instance\" version=\"3.0\" >\n <InLine>\n <tag1>valuetag1</tag1>\n</InLine>\n \n</TEST>"
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
小智 7
论坛帖子很有用。还要注意您粘贴的字符串不是有效的 XML,即使您设法通过映射返回它。
无论如何,我遇到了类似的问题,这就是我解决它的方法(与上面的论坛链接讨论非常相似)。
def lambda_handler(event, context):
resp = {"body" : "<FooResult xmlns='http://someorg.com/xml/1.0'><Message>All is well</Message></FooResult>"}
return resp
请注意,我已将实际的响应 XML 字符串包装在 json 中。这个 json 元素的关键是“body”。该键的值是双引号内的有效 XML 字符串。
#set($inputRoot = $input.path('$'))
$inputRoot.body
此模板将在 JSON 的键“body”中返回有效的 XML 值。
现在您只需要在 Method Response 部分添加一个 Content-Type 标头和 application/xml 的响应主体,您应该会获得有效的 XML。
请记住在您的客户端上设置接受标头以接受 XML。干杯
| 归档时间: |
|
| 查看次数: |
6153 次 |
| 最近记录: |