点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我对HCI还是很陌生,并且正在尝试以下情形:
我有来自发送方的同步REST/JSON调用,该调用包含以下结构:
{
"消息":{
" postId":[" 1"," 2"," 3"]
}
}
现在,我想按postId拆分传入的消息,然后调用
https://jsonplaceholder.typicode.com/posts/{postId }用于提供的每个postId。 这些都是同步的GET调用,这些调用提供了JSON内容,例如:
{ " userId":1 " id":1 " title":"禁止动用公积金,除了最优投保外,", "身体":"很快就接受保全,因此必须立即接受保全,不动产,不动产,不动产,不动产" }
在对发件人的同步响应中,我想收集所有响应消息,并将它们作为组合的JSON提供回发件人。
我尝试了以下方法:
HTTPS发送器-> JSON到XML转换器-> xpath的通用拆分器//postId->内容修饰符,它将//postId写入标头变量-> XML到JSON转换器-> HTTPS接收器通道,该通道使用来自 postId用于在接收方进行呼叫。
我在同步响应中得到的是请求数据的XML转换,例如:
<?xml version ='1.0'encoding ='UTF-8'?>
您能给我一个提示我做错了什么或如何实现我的方案吗?
彼得,你好,
您可以尝试以下方法:
主要整合过程:
HTTPS发送器->开始-> JSON到XML转换器->处理对本地集成过程的调用(右键单击并选择循环过程-然后配置循环条件)-> XML到JSON转换器->结束消息
本地集成流程:
对接收者的请求-答复步骤->内容修改器
此致
Prasanna
嗨Prasanna,
感谢您的回复! 我已经尝试了您的解决方案,但对我来说,它在循环过程调用失败并显示以下消息:
org.apache.camel.TypeConversionException:从类型:java.lang.String到所需类型:org.w3c.dom.Document的类型转换期间发生错误,其值[未记录正文]由于org.xml .sax.SAXParseException; lineNumber:1; columnNumber:1; 序言中不允许内容。原因:org.xml.sax.SAXParseException; lineNumber:1; columnNumber:1; 序言中不允许包含内容。
我只在本地集成过程中添加了一个内容修饰符,以便从Xpath获取//postId并将其存储到标头变量postId中,以便在动态URL的请求-回复通道中检索它。/p>
我在本地集成过程中没有使用第二个内容修饰符。 为了将所有响应附加到主体中,然后通过XML to JSON转换器运行之前,是否需要这样做? 这会导致上面的错误吗?
这是过程模型:
任何提示将不胜感激!
你好彼得,
从我这边走下来的几分钱可能对您有帮助。
此致
Sriprasad Shivaram Bhat
你好彼得,
问题不在您的分离器中,根据我的观察,它是在您请求回复后发生的。
我认为您的 http://jsonplaceholder.typicode.com/posts/$ {header.postId }调用的是JSON格式。
在收集之前,您可能需要从JSON转换为XML(如果要使用传入格式= XML(相同格式)),也可以使用纯文本(可能需要编写脚本来执行转换后收集),这可能会 从转型的角度来看会有点复杂。
此致
Sriprasad Shivaram Bhat
嗨,彼得,
您能否发布iflow的图像,并且这种情况还需要拆分后的请求-答复和联接-收集模式。
此致
邯郸
一周热门 更多>