0

我想在网关脚本中读取 APIC调用策略(来自 SOAP 服务)返回的 XML 中的特定值。

我搜索了高低。我已经从我的搜索中尝试过这个和那个。结果:我惨败。

我认为apim.readInputAsXML(function(error, xmlNodelist)是答案,但是当我意识到我正在读取 API 的输入时感到困惑。我是 JavaScript 新手,并得出结论我正在处理的 'xmlNodeList' 实际上是由“readInputAsXML”创建(而不是我认为我作为参数传递的那个) Duh!我想“输入”这个词已经泄露了它。

我找到了“readAsXML()”,但没有找到它操作的对象类型。

var xmlNodeList = apim.getvariable('response.body') 一开始似乎可以工作,类型为'object Nodelist',与使用'readInputAsXML'时相同。

但是,“xmlNodelist.item(0)”返回的对象是一个 blob(类型=13)。这与“readInputAsXML”形成对比,后者是一个名为“Envelope”的节点。

任何人都可以帮助解释或指出我的参考吗?

顺便说一句,这是 APIC 2018.3.7

4

1 回答 1

0

我遇到过类似的情况。api 中的响应很可能没有标头,即内容类型,因此 apiс 不知道如何解析它。我建议对 api 的响应带有 content-type 标头。要访问消息正文,请使用上下文变量message.body,在调用之前包含请求,在响应之后。

于 2019-01-22T16:08:55.220 回答