//--不管webservice要求请求是JSON还是XML都可以用XML发送请求。
//http://871421448.iteye.com/blog/1546955
org.dom4j.Document document = org.dom4j.DocumentHelper.createDocument();
org.dom4j.Element root = document.addElement("SAP_ESB");
//增加一个父节点只需在后面加一个document.addElement节点即可.
//org.dom4j.Element root = document.addElement("SAP_ESB").addElement("TEST");
//context.json_purdm为countext变量,类型为Object;订购单主档xml资料.
//资料流为:tOracleInput控件-->tXMLMap-->tJavaRow,就是db中取出数据并打包成xml,最后存入context.json_purdm变量中.
// ADD NODE PURM
try{
routines.system.Document jsonPurm = (routines.system.Document)context.json_purdm;
org.dom4j.Document docm = jsonPurm.getDocument();
org.dom4j.Element rootPurm = docm.getRootElement();
root.add(rootPurm);
}
catch(Exception ex){
root.addElement("ETL_PURM");
}
// ADD NODE PURD
try{
routines.system.Document jsonPurd = (routines.system.Document)context.json_purdd;
org.dom4j.Document docd = jsonPurd.getDocument();
org.dom4j.Element rootPurd = docd.getRootElement();
root.add(rootPurd);
}
catch(Exception ex){
root.addElement("ETL_PURD");
}
// ADD NODE PURD_SIZE
try{
routines.system.Document jsonSize = (routines.system.Document)context.json_purdsize;
org.dom4j.Document docs = jsonSize.getDocument();
org.dom4j.Element rootSize = docs.getRootElement();
root.add(rootSize);
}
catch(Exception ex){
root.addElement("ETL_PURDSIZE");
}
routines.system.Document docReturn = new routines.system.Document();
docReturn.setDocument(document);
//XML Format to Json
context.json_body = docReturn;
System.out.println("json_body:" + context.json_body);
//最后请求时,要用tFixedFlowInput做为tRESTClient请求的输入,但需要强制转换为Document:(Document)context.json_body;context.json_body是Object类型的,所以要转换。