package com.gj.logs.dmrsync;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class DataUtils {
public static Logger logger = Logger.getLogger("dmlog");
public static Logger debuglogger = Logger.getLogger("dmdebuglog");
public static String getDataFromRequst(HttpServletRequest request) {
try {
InputStream is = request.getInputStream();
byte[] data = new byte[10240];
int len = 0;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while ((len = is.read(data)) != -1) {
baos.write(data, 0, len);
}
baos.close();
baos.flush();
is.close();
if (baos.size() > 0) {
return baos.toString();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public static Map<String, String> getHeadList(HttpServletRequest request) {
Map<String, String> map = new HashMap<String, String>();
Enumeration<String> list = request.getHeaderNames();
while (list.hasMoreElements()) {
String key = list.nextElement();
if (key != null) {
String value = request.getHeader(key);
map.put(key, value);
}
}
return map;
}
/*
* <?xml version="1.0"
* encoding="UTF-8"?><Request><MsgType>ChargedNotifyReq</MsgType><TradeId>
* 922317EA18E151EC</TradeId><AppId>300000000424</AppId><ProgramId>2803</ProgramId><ApData>0123456789abcdef</ApData><ExData>0123456789abcdef</ExData><ChannelId></ChannelId><SubsId>113110124168077</SubsId><Cost>100</Cost><ChargeTime>20140827102421</ChargeTime><ChargeType>102</ChargeType></Request>
*/
public static MO getDataFromXml(String data) {
MO mo = new MO();
try {
SAXReader reader = new SAXReader();
ByteArrayInputStream bais = new ByteArrayInputStream(data
.getBytes());
Document document = reader.read(bais);
Element root = document.getRootElement();
Element msgtype = root.element("MsgType");
mo.setMsgtype(msgtype.getTextTrim());
Element tradeid = root.element("TradeId");
mo.setTradeid(tradeid.getTextTrim());
Element appid = root.element("AppId");
mo.setAppid(appid.getTextTrim());
Element programid = root.element("ProgramId");
mo.setProgramid(programid.getTextTrim());
Element apdata = root.element("ApData");
mo.setApdata(apdata.getTextTrim());
Element exdata = root.element("ExData");
mo.setExdata(exdata.getTextTrim());
Element channelid = root.element("ChannelId");
mo.setChannelid(channelid.getTextTrim());
Element subsid = root.element("SubsId");
mo.setSubsid(subsid.getTextTrim());
Element cost = root.element("Cost");
mo.setCost(cost.getTextTrim());
Element chargetime = root.element("ChargeTime");
mo.setChargetime(chargetime.getTextTrim());
Element chargetype = root.element("ChargeType");
mo.setChargetype(chargetype.getTextTrim());
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return mo;
}
public static void rsync(final String url, final String data) {
new Thread(new Runnable() {
@Override
public void run() {
try {
if (url != null && data != null) {
SimpleUrlConnection conn = new SimpleUrlConnection(url);
String endata = URLEncoder.encode(data, "utf-8");
conn.addGetPar("data", endata);
int status = conn.connect();
debuglogger.info(url+"|"+status+"|"+data);
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String data = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Request><MsgType>ChargedNotifyReq</MsgType><TradeId>922317EA18E151EC</TradeId><AppId>300000000424</AppId><ProgramId>2803</ProgramId><ApData>0123456789abcdef</ApData><ExData>0123456789abcdef</ExData><ChannelId></ChannelId><SubsId>113110124168077</SubsId><Cost>100</Cost><ChargeTime>20140827102421</ChargeTime><ChargeType>102</ChargeType></Request>";
// String log = getDataFromXml(data);
// System.out.println(log);
}
}
获取HttpServletRequest中的xml数据
最新推荐文章于 2021-12-25 19:35:58 发布