java 写webservice接口解析xml报文
1 <!--解析xml报文-->
2 <dependency>
3 <groupId>dom4j</groupId>
4 <artifactId>dom4j</artifactId>
5 <version>1.6.1</version>
6 </dependency>
新增一个接口
1 @WebService
2 public interface IAPP_WS_002_insertUserDateService {
3
4 public void insertUserDate(String body);
5
6 }
实现类
1 import com.webservice.server.service.IAPP_WS_002_insertUserDateService;
2 import org.dom4j.Document;
3 import org.dom4j.DocumentException;
4 import org.dom4j.DocumentHelper;
5 import org.dom4j.Element;
6
7 import javax.jws.WebService;
8 import java.util.Iterator;
9
10 /**
11 * 插入人员数据
12 */
13 @SuppressWarnings("all")
14 @WebService
15 public class APP_WS_002_insertUserDateServiceImpl implements IAPP_WS_002_insertUserDateService {
16
17 /**
18 * 解析传来的xml报文
19 *
20 * @param body
21 */
22 @Override
23 public void insertUserDate(String body) {
24 readStringXml(body);
25 }
26
27
28 /**
29 * 解析传来的xml报文
30 *
31 * @param xml
32 */
33 public static void readStringXml(String xml) {
34 Document doc = null;
35 try {
36 doc = DocumentHelper.parseText(xml); // 将字符串转为XML
37 Element rootElt = doc.getRootElement(); // 获取根节点
38 System.out.println("根节点:" + rootElt.getName()); // 拿到根节点的名称 DATA
39 Iterator iter = rootElt.elementIterator("HEAD"); // 获取根节点下的子节点HEAD
40 // 遍历HEAD节点
41 while (iter.hasNext()) {
42 Element recordEle = (Element) iter.next();
43 String BIZTRANSACTIONID = recordEle.elementTextTrim("BIZTRANSACTIONID"); //取HEAD下节点的值
44 String COUNT = recordEle.elementTextTrim("COUNT"); //取HEAD下节点的值
45 String CONSUMER = recordEle.elementTextTrim("CONSUMER"); //取HEAD下节点的值
46 String SRVLEVEL = recordEle.elementTextTrim("SRVLEVEL"); //取HEAD下节点的值
47 String ACCOUNT = recordEle.elementTextTrim("ACCOUNT"); //取HEAD下节点的值
48 String PASSWORD = recordEle.elementTextTrim("PASSWORD"); //取HEAD下节点的值
49
50 System.out.println("BIZTRANSACTIONID:" + BIZTRANSACTIONID);
51 System.out.println("COUNT:" + COUNT);
52 System.out.println("CONSUMER:" + CONSUMER);
53 System.out.println("SRVLEVEL:" + SRVLEVEL);
54 System.out.println("ACCOUNT:" + ACCOUNT);
55 System.out.println("PASSWORD:" + PASSWORD);
56 }
57 Iterator iterss = rootElt.elementIterator("LIST"); ///获取根节点下的子节点LIST
58 // 遍历LIST节点
59 while (iterss.hasNext()) {
60 Element recordEless = (Element) iterss.next();
61 Iterator itersElIterator = recordEless.elementIterator("ITEM"); // 获取子节点LIST下的子节点ITEM
62 // 遍历LIST节点下的ITEM节点
63 while (itersElIterator.hasNext()) {
64 Element itemEle = (Element) itersElIterator.next();
65 String ID = itemEle.elementTextTrim("ID");
66 String NAME = itemEle.elementTextTrim("NAME");
67 String ADDR = itemEle.elementTextTrim("ADDR");
68 String SEX = itemEle.elementTextTrim("SEX");
69 String AGE = itemEle.elementTextTrim("AGE");
70 String MARK = itemEle.elementTextTrim("MARK");
71
72 System.out.println("ID:" + ID);
73 System.out.println("NAME:" + NAME);
74 System.out.println("ADDR:" + ADDR);
75 System.out.println("SEX:" + SEX);
76 System.out.println("AGE:" + AGE);
77 System.out.println("MARK:" + MARK);
78 }
79 }
80 } catch (DocumentException e) {
81 e.printStackTrace();
82 } catch (Exception e) {
83 e.printStackTrace();
84 }
85 }
86 }
发布
1 import com.webservice.server.service.impl.APP_WS_001getNoteByIdServiceImpl;
2 import com.webservice.server.service.impl.APP_WS_002_insertUserDateServiceImpl;
3 import org.springframework.boot.ApplicationArguments;
4 import org.springframework.boot.ApplicationRunner;
5 import org.springframework.stereotype.Component;
6 import javax.xml.ws.Endpoint;
7
8 @Component
9 @SuppressWarnings("all")
10 public class WebserviceConfig implements ApplicationRunner {
11
12
13 private String add_WS_002 = "http://localhost:8081/webservice/insertUserDate";
14
15 @Override
16 public void run(ApplicationArguments args) throws Exception {
17 Endpoint.publish(add_WS_002, new APP_WS_002_insertUserDateServiceImpl());
18 System.out.println("webservice接口 发布成功");
19 }
20 }
测试

使用SOAPUI测试

后台获取如下

java 写webservice接口解析xml报文的更多相关文章
- java写webservice接口
有一个需求:要求根据设备mac和终端设备类型来查询设备库存状态. 接口协议是采用webservice协议,信息交互方式为xml格式信息 输入参数存放到XML各个节点下,并转为一个String,作为接口 ...
- Java调用webservice接口方法
java调用webservice接口 webservice的 发布一般都是使用WSDL(web service descriptive langu ...
- 转:在java中使用dom4j解析xml
JAVA 使用Dom4j 解析XML Java DOM4J Parser - Parse XML Document Dom4j下载及使用Dom4j读写XML简介 在java中使用dom4j解析xml ...
- 解析xml报文,xml与map互转
这段时间写了一个关于xml报文的工具类,做一下具体的讲解: xml文本 <NTMMessage version="1.03"> <NTMHeader> &l ...
- Delphi调用JAVA的WebService上传XML文件(XE10.2+WIN764)
相关资料:1.http://blog.csdn.net/luojianfeng/article/details/512198902.http://blog.csdn.net/avsuper/artic ...
- Java 发送SOAP请求调用WebService,解析SOAP报文
https://blog.csdn.net/Peng_Hong_fu/article/details/80113196 记录测试代码 SoapUI调用路径 http://localhost:8082/ ...
- java代码用dom4j解析xml文件的简单操作
时间: 2016/02/17 目标:为telenor的ALU Femto接口写一个采集xml文件并解析出locationName标签里的值,然后更新到数据库中. 从网上搜了下,有四种常用的解析xml的 ...
- java 调用webservice接口
webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...
- Java调用webservice接口方法(SOAP message、xfire、axis)
webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...
随机推荐
- [Python] 命名空间&作用域
Python的类语句不会创建实例 类会创建命名空间,通过对象访问类的属性和方法 类不会创建作用域,对方法和属性的引用必须加以限定(如在方法中必须通过self引用实例的属性) class My1(): ...
- 【转载】认识SSD的SATA、mSATA 、PCIe和M.2四种主流接口
认识SSD的SATA.mSATA .PCIe和M.2四种主流接口 2018-09-25 • 工具 • 评论关闭 认识SSD的SATA.mSATA .PCIe和M.2四种主流接口
- 优启通-PE启动盘制作工具 原版Win7系统安装超详细教程!!!!!
https://www.jianshu.com/p/cd4abc9889b6 前期准备 原版Win7系统ISO映像文件 PE启动U盘或系统光盘(本教程以纯净无捆绑的优启通PE为示例) 优启通v3.3下 ...
- 源码安装Apache(httpd)
[RHEL8] !!!测试环境我们首关闭防火墙和selinux [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# sys ...
- Docker镜像的仓库及底层依赖的核心技术(3)
一.docker镜像的仓库 仓库分为公共仓库和私有仓库 DockerHub的官方仓库:https://hub.docker.com DockerPool社区仓库:https://dl.dockerpo ...
- STM32 库函数 延时函数计算
- Tomcat参数
解析Tomcat的启动脚本--startup.bat:https://www.jb51.net/article/99857.htm 解析Tomcat的启动脚本--catalina.bat:https: ...
- 10.1 ifconfig:配置或显示网络接口信息
ifconfig命令 用于配置网卡IP地址等网络参数或显示当前网络的接口状态,其类似于Windows下的ipconfig命令,这两个命令很容易混淆,读者需要区分一下.此外,ifconfig命令在配置网 ...
- openssl自签发证书
DOMAIN=www.example.com openssl genrsa -out ${DOMAIN}.key # 生成私有key openssl req -x509 -new -nodes -ke ...
- Python for循环 - Python零基础入门教程
目录 一.for 循环语法 二.for 循环实战 三.重点总结 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python ...