接口报文xml与javaBean互转

来源:互联网 发布:php任意文件上传代码 编辑:程序博客网 时间:2024/06/19 04:07

接口报文xml转javaBean

第一步:准备好xml 文件,将xml 文件 转成xsd 文件(XML文件根据自己的需求手写出来)

dos 命令下 进到 trang.jar 同级目录下
Eg: E:\developer\xsd\trang-20030619

这里写图片描述

转换命令:java -jar trang.jar XXX1.xml XXX2.xsd

注意:1.生成xsd 文件时xml中的属性中参数值不要为空,否则生成的xsd 会将单独形成一列

这里写图片描述

如上图,CertTP 值为空,导致最后生成的javaBean 会出现已CertTP 命名的实体类。
2.生成的xsd 文件,需要手动更改type值,默认生成的type值都不为string类型,需要手动更改。

这里写图片描述
手动改
这里写图片描述

第二步:运用jdk 中的xjc.exe 命令,将xsd 文件转成 java源代码(本文用的是jdk1.6)

Doc命令 进入jdk bin目录下

命令:
xjc fileName.xsd -d 生成java实体类的目录 -p 生成的包名

Eg:
这里写图片描述

生成成功:

这里写图片描述

对生成的javaBean 对象 进行编译解析

第一步: 将生成的javaBean对象 复制到工程里:
这里写图片描述

第二步:运用JAXB对javaBean对象进行编译解析 (JAXB 是jdk 自带的工具,jdk1.6已经集成,1.5之前的版本需要另外导包)

1.javaBean 设置参数:
这里写图片描述

2.调用jaxb 方法生成xml 请求报文
调用方法,将javaBean 对象传入
这里写图片描述

具体的处理方法:
这里写图片描述

生成的报文:
这里写图片描述

第三步: 解析xml 报文
这里写图片描述

调用解析方法,传入对应的javaBean 对象 class
参数值通过get 方法获取

具体调用方法:
这里写图片描述

注意事项:使用上述方法 XML生成Bean时 都能正常使用注解会正常生成
但有种情况: 当提供方提供wsdl 文件,使用cxf 生成Bean时,需要再类名上加@XmlRootElement(name = “ReqXXXXXX”)注解(cxf会丢失)

附上tang.jar的资源

http://download.csdn.net/download/sinat_34979884/10113992

原创粉丝点击