2020-09-10 10:21发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我在pi 7.4双协议栈... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我在pi 7.4双协议栈中工作,每当PI中有错误时,都需要将错误信息发送到特定客户端。 客户名称将出现在消息的有效负载中,因此基于有效负载条件,需要将警报电子邮件路由到特定的客户端。
Ex:如果PI中客户端名称字段为" X"的消息失败,并且出现了一些错误,则必须将该错误消息路由到"客户端X"的邮件ID,对于其他客户端" Y"," Z"也是如此 定制的主体和主题。
请提出实现此要求的方法。
致谢
Pavan
嗨,Pavan,您可以使用以下一个-
包com.sap.pi.JSON2XMLConversion; 导入org.json.JSONObject; 导入org.json.XML; 导入com.sap.aii.mapping.api.AbstractTransformation; 导入com.sap.aii.mapping.api.StreamTransformationException; 导入com.sap.aii.mapping.api.TransformationInput; 导入com.sap.aii.mapping.api.TransformationOutput; 导入java.io.InputStream; 导入java.io.OutputStream; 公共类JSON2XMLConversion扩展AbstractTransformation { 公共无效transform(TransformationInput arg0,TransformationOutput arg1)引发StreamTransformationException { InputStream in = arg0.getInputPayload()。getInputStream(); OutputStream输出= arg1.getOutputPayload()。getOutputStream(); 尝试 { byte [] b =新的byte [in.available()]; in.read(b); 字符串JSONreq =新字符串(b); JSONreq = JSONreq.replace("&","&"); JSONreq = JSONreq.replace(" ",""); int contStart = JSONreq.indexOf(" "); int contEnd = JSONreq.indexOf(" "); JSONreq = JSONreq.substring(contStart,contEnd).replace(" ",""); JSONObject obj =新的JSONObject(JSONreq); //将json转换为xml 字符串xml_data = XML.toString(obj); xml_data =" "。concat(xml_data).concat(" "); out.write(xml_data.getBytes()); } 捕获(异常e) { e.toString(); } } }
将电子邮件输入视为XML如下-
它将像这样转换为XML-您可以将其映射到目标邮件包结构,以将电子邮件发送给特定的客户端。 我在这里使用了UDS属性ReprocessAccount,但是您可以使用Client ID进行更改,然后在下一步中进行映射。
您必须在构建路径/Maven中添加外部jar-在NWDS中构建上述Java类时,还需要将ESR作为导入的Archive导入。
https://www.java2s.com/Code/Jar/j/下载javajsonjar.htm
希望这会有所帮助!
谢谢
Sugata
最多设置5个标签!
嗨,Pavan,
您可以使用以下一个-
将电子邮件输入视为XML如下-
它将像这样转换为XML-您可以将其映射到目标邮件包结构,以将电子邮件发送给特定的客户端。 我在这里使用了UDS属性ReprocessAccount,但是您可以使用Client ID进行更改,然后在下一步中进行映射。
您必须在构建路径/Maven中添加外部jar-在NWDS中构建上述Java类时,还需要将ESR作为导入的Archive导入。
https://www.java2s.com/Code/Jar/j/下载javajsonjar.htm
希望这会有所帮助!
谢谢
Sugata
一周热门 更多>