<?xml version=“1.0” encoding=“GBK”?>
<CLEcdsData>
<opReq> <!-- 交易请求数据 -->
<bsnCode>ECD7070</bsnCode>
<cstNo>1000000700</cstNo>
<serialNo>1234567890123</serialNo>
<reqDate>20081117</ reqDate> <!—请求日期8位-->
<reqTime>182230</reqTime> <!—请求时间6位 -->
<ReqParam> <!-- 交易请求参数实体,里面的具体参数可以添加 -->
<bsnCode>182230</bsnCode>
……
</ReqParam>
</opReq>
</CLEcdsData>
<?xml version=“1.0” encoding=“GBK”?>
<CLEcdsData>
<opRep> <!-- 交易响应数据 -->
<serialNo>12345678901234567890</serialNo> <!-- 原样返回交易序列号 -->
<opResult> <!-- 交易结果 -->
…… <!-- 各个交易结果参数 -->
</opResult>
</opRep>
</CLEcdsData>
import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element;
import com.longtop.efmp.ecd.webservice.model.ReturnInfo;
public class ReturnData {
//抽取入参返回出参 public static ReturnInfo getXmlInfo(String xml){ ReturnInfo returnInfo=new ReturnInfo(); Document document = null; try { document = DocumentHelper.parseText(xml); } catch (DocumentException e1) { e1.printStackTrace(); } Element el = document.getRootElement(); //获取opReq数据 Element opReqel = el.element("opReq"); String serialNo = opReqel.element("serialNo").getTextTrim(); //获取ReqParam数据 Element reqParamel = opReqel.element("ReqParam"); String bsnCode = reqParamel.element("bsnCode").getTextTrim(); //封装返回结果 Document documentReturn = DocumentHelper.createDocument();// 获取document documentReturn.setXMLEncoding("GBK");// 设置编码 Element oneChildElement = documentReturn.addElement("CLEcdsData");// 创建根元素 Element opRepElement = oneChildElement.addElement("opRep");// 创建根元素 Element serialNoElement = opRepElement.addElement("serialNo");// 创建子元素 Element retCodeElement = opRepElement.addElement("retCode");// 创建子元素 Element retMsgElement = opRepElement.addElement("retMsg");// 创建子元素 Element opResultElement = opRepElement.addElement("opResult");// 创建子元素 if(opReqel.element("serialNo").getTextTrim()!=null){ serialNoElement.setText(opReqel.element("serialNo").getTextTrim());
} //默认成功 retCodeElement.setText("001"); retMsgElement.setText("成功"); returnInfo.setOpReqel(opReqel); returnInfo.setReqParamel(reqParamel); returnInfo.setDocumentReturn(documentReturn); returnInfo.setRetCodeElement(retCodeElement); returnInfo.setRetMsgElement(retMsgElement); returnInfo.setOpResultElement(opResultElement); returnInfo.setSerialNoElement(serialNoElement); //returnInfo可以重新封装对应的参数体 return returnInfo; } }
public class ReturnInfo implements Serializable{ private static final long serialVersionUID = 1L; private Element opReqel;//请求opReqel参数 private Element reqParamel;//请求reqParamel参数 private Document documentReturn;//返回数据 private Element retCodeElement;//返回编码 private Element retMsgElement;//返回描述 private Element opResultElement;//返回数据 private Element serialNoElement;//返回交易序列号
public Element getSerialNoElement() { return serialNoElement; }
public void setSerialNoElement(Element serialNoElement) { this.serialNoElement = serialNoElement; }
public Element getOpReqel() { return opReqel; }
public void setOpReqel(Element opReqel) { this.opReqel = opReqel; }
public Element getRetCodeElement() { return retCodeElement; }
public void setRetCodeElement(Element retCodeElement) { this.retCodeElement = retCodeElement; }
public Element getRetMsgElement() { return retMsgElement; }
public void setRetMsgElement(Element retMsgElement) { this.retMsgElement = retMsgElement; }
public Element getOpResultElement() { return opResultElement; }
public void setOpResultElement(Element opResultElement) { this.opResultElement = opResultElement; }
public Document getDocumentReturn() { return documentReturn; }
public void setDocumentReturn(Document documentReturn) { this.documentReturn = documentReturn; }
public Element getReqParamel() { return reqParamel; }
public void setReqParamel(Element reqParamel) { this.reqParamel = reqParamel; } }