接口报文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的资源