我正在尝试从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);
答案 0 :(得分:2)
我有同样的问题。我可以这样指定帖子正文来解决此问题:
request.parameters = { "body": { "key1": "val1", "key2", "val2" }}
答案 1 :(得分:0)
在parameter对象中,将密钥添加为您在招摇文件request.parameters = { "nameOfBodyAsMenitionedInSwagger": { "key1": "val1", "key2", "val2" }}
中给出或提及的正文的名称