Azure函数可以返回XML吗?

时间:2016-11-10 22:44:42

标签: xml azure twilio azure-functions

寻找从Azure函数返回XML的Node.js示例。我下面的代码返回xml的字符串,但响应Content-Type设置为 text / plain; charset = utf-8 而不是 text / xml;字符集= UTF-8

index.js

module.exports = function(context, req) {
    var xml = '<?xml version="1.0" encoding="UTF-8"?><Response><Say>Azure functions!</Say></Response>';

    context.res = {
        contentType: 'text/xml',
        body: xml
    };

    context.done();
};

以下是绑定。

function.json

{
  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req"
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    }
  ],
  "disabled": false
}

2 个答案:

答案 0 :(得分:6)

标记,

绝对!您很接近,但您可以看到如何在回复here上设置内容类型的示例。

下一个版本还有一个修复程序可以实现正确的内容协商,这样就无需在很多情况下明确设置该内容。

答案 1 :(得分:3)

为了使Fabio的答案更加完整,以下是更新后的代码:

Bar

您无需更改function.json。

“headers”块可用于设置要返回的任何标头。请注意,如果您在功能应用程序的设置中设置了任何设置CORS数据的内容,则会覆盖任何与CORS相关的标题。您必须在功能应用程序设置中设置CORS数据,或者在代码中手动处理CORS。

需要将“isRaw”设置为true,以便Azure功能不会超越您,并且XML编码已编码的数据。

仅供参考,我的经验是Azure Functions正在积极开发和经常更改。因此,如果您遇到问题,或者此代码不再有效,您最好的选择; is to search/open an issue on Github.