【发布时间】:2016-08-17 08:36:59
【问题描述】:
我正在尝试从 SOAP API 返回的 XML 中提取 SessionId。
我已经通读了 Postman 文档(几遍),但它对实现我的目标并不是最有帮助的。
一些博客中的建议是将 XML 转换为 JSON,然后从中挑选出令牌及其值,但这也无济于事。
我在测试中使用了以下内容:
var jsonObject = xml2Json(responseBody);
postman.setGlobalVariable("Session_Id", jsonObject.SessionID);
上面创建了变量“Session_Id”,但实际上并没有给它赋值。我难住了。
我肯定是从 API 中检索数据,并且可以在 Postman 的“Body”响应中查看。
【问题讨论】:
-
我仍在寻找这个问题的答案,我正在与向我介绍该应用程序的人证实。如果我在接下来的几天内不来,我会向 Postman 发送电子邮件。
-
jsonObject 的输出是什么,jsonObject.SessionID 是一个字符串。根据邮递员文档: postman.setGlobalVariable(variableName, variableValue):设置全局变量“variableName”,并将字符串“variableValue”分配给它。注意:只能存储字符串。存储其他类型的数据会导致意外行为。
-
我给 Postman @Shaugn 发了电子邮件,他们的一位创始人回复了我同样的建议。但他接着说,该应用程序会自动将任何其他类型转换为字符串。无论如何,我发现了这个问题。我没有深入研究 JSON blob。我最终使用了:'postman.setEnvironmentVariable("Session_Id", jsonObject.UserSessionToken.SessionId);'我使用了 Console.log 并不断检查输出,直到找到我需要的内容。