前言
我也是名菜鸟,最近需要做这样的一个功能,弄完来写写记录,若有问题还望评论指点,谢谢。
1.什么是"xml参数"?
刚开始我也不太清楚,只知道在网上查到读取“xml”内的内容,没办发,这里一点不会,就只能在网上找,找了很多都是读取本地xml文件的,不过也不打紧,获取本地的简单,方式还有很多(这里就不说了,百度即可);
“xml参数”是text/xml的格式,当通过http post携带过来的时候可以永String类型来接收。
2.上代码(先把功能实现再说)
既然是http服务请求,那么肯定需要用到web服务
1.自己搭建一个web项目(需自己去弄)
2.此处我用的是ssm框架,dom4j.jar解析xml,jdk1.8
3.dom44j.jar领取:https://pan.baidu.com/s/14H08_uD2ckqfZe4oQc5bKg
提取码:nzl4
// An highlighted block
package com.cdr.controller;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.PrintWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.cdr.bean.NewCdr;
import com.cdr.service.NewCdrService;
import com.sun.xml.internal.messaging.saaj.util.ByteInputStream;
/**
* 1.frrswitch服务写入话单数据 ---post 请求 xml 参数
*
* 2.接受话单数据---解析xml参数获取对应值,插入数据表xxxx
*
* @author PCyzh
*
*/
@Controller
@RequestMapping("/cdr")
public class NewCdrRead {
protected static Logger log = LoggerFactory.getLogger(NewCdrRead.class.getName());
@Autowired
private NewCdrService cdrServcie;
@RequestMapping("/read")
public void getDocument(HttpServletRequest req, HttpServletResponse resp) throws Exception