# 脚本使用示例
# 1.场景介绍
ESB在线编排中,使用groovy脚本做报文住转换示例,下面介绍两种。
# 1)DataObject的数组转成json字符串
import java.util.Map;
import com.primeton.esb.message.MessageConstants;
import com.primeton.esb.message.ITipMessagePayload;
import com.primeton.esb.message.TipMessageBuilder;
import com.eos.system.utility.JsonUtil;
ITipMessagePayload inMessage = context.inMessage;
String body = JsonUtil.toJson(context.result);
TipMessageBuilder mBuilder = TipMessageBuilder.withPayload(body);
Map<String, Object> protocolHeaders = inMessage.getProtocolHeaders();
protocolHeaders.put("content-Length", body.length());
protocolHeaders.put("content-Type", "application/json");
mBuilder.copySystemHeaders(inMessage.getSystemHeaders());
mBuilder.setMessageHeaders(inMessage.getMessageHeaders());
mBuilder.setSystemHeader(MessageConstants.MESSAGE_INVOKE_TYPE,MessageConstants.REQUEST_RESPONSE);
mBuilder.setProtocolHeaders(protocolHeaders);
ITipMessagePayload nmessage = mBuilder.build();
context.outMessage = nmessage;
# 2) json与xml互转
import com.primeton.changhongutil.JsonXmlConverUtil;
System.out.println("==jsonToXml----="+JsonXmlConverUtil.jsonToXml("{"name":"sss"}"));
String txml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><data xmIns:esb="http://esb.ekingwin.com">"
System.out.println("--xmlTo]son---"+JsonXmlConverUtil.xmlTo]son(txml));
依赖包见:离线资源.zip
依赖包放在{server安装目录}/server/libs和{Portal安装目录}/lib下.