我想将一个REST API的输出传递给camunda中的另一个REST-API。我的第一个API是返回JSON,它的值是email。我使用HTTP连接器脚本变量从first REST-API获得输出
<camunda:outputParameter name="email">
<camunda:script scriptFormat="JavaScript">var value = S(NUMBER, 'application/json');
print("DATA ::: "+ value);
var response = S(connector.getVariable("response"), 'application/json');
print("Response ::: "+ response );
print("Email :::"+ response.prop("email"));
response.prop("email");</camunda:script>
</camunda:outputParameter>
现在,我想在另一个使用HTTP-CONNECTOR的rest-API调用的有效负载中传递电子邮件
<camunda:connector>
<camunda:inputOutput>
<camunda:inputParameter name="url">http://localhost:8080/step2</camunda:inputParameter>
<camunda:inputParameter name="method">POST</camunda:inputParameter>
<camunda:inputParameter name="header">
<camunda:map>
<camunda:entry key="accept">application/json</camunda:entry>
<camunda:entry key="content-type">application/json</camunda:entry>
</camunda:map>
</camunda:inputParameter>
<camunda:inputParameter name="payload">
<camunda:script scriptFormat="JavaScript">var email=execution.getVariable("email");</camunda:script>
</camunda:inputParameter>
</camunda:inputOutput>
<camunda:connectorId>http-connector</camunda:connectorId>
</camunda:connector>
但它给出的错误是
w.s.m.s.DefaultHandlerExceptionResolver :不支持已解析的org.springframework.web.HttpMediaTypeNotSupportedException:内容类型'‘
如何将输出变量传递给下一个REST-API?
发布于 2019-03-08 17:14:31
应该使用<camunda:inputParameter name="header">
而不是这个<camunda:inputParameter name="headers">
,而且不可能将脚本作为输入传递给文本变量。所以我用了
<camunda:outputParameter name="email">
${response}
</camunda:outputParameter>
将完整响应传递给下一个服务
https://stackoverflow.com/questions/55021441
复制相似问题