如何将请求正文添加到IBM BPM 8.6脚本任务BPMRESTRequest对象以调用REST api?

时间:2018-06-26 14:58:28

标签: ibm-bpm

我正在尝试从IBM BPM 8.6调用REST api(POST操作),我必须使用脚本任务,我能够调用api没问题,只是api需要一个带有json对象的请求主体它,我还没有找到一种将其添加到我在脚本中创建的请求对象中的方法。我可以在请求中添加标头和参数,但不能添加http正文。

这是我在脚本任务的脚本选项卡中的代码,该调用由api接收,但它被丢弃,并带有一条消息,即该请求缺少api期望的请求正文。

var request = new BPMRESTRequest();
request.externalServiceName = "api-docs";
request.operationName="extractReporterInfoUsingPOST";
request.httpHeaders =  {"Content-Type": "application/json", "Accept":
"application/json"};
request.httpMethod = "POST";
// request.body = {"test":"dummy"}; <- does not work
// request.httpBody = {"test":"dummy"}; <- does not work
var response = tw.system.invokeREST(request);

2 个答案:

答案 0 :(得分:2)

我有同样的问题。我可以这样指定帖子正文来解决此问题:

request.parameters = { "body": { "key1": "val1", "key2", "val2" }}

答案 1 :(得分:0)

在parameter对象中,将密钥添加为您在招摇文件request.parameters = { "nameOfBodyAsMenitionedInSwagger": { "key1": "val1", "key2", "val2" }}中给出或提及的正文的名称