加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

JAXB WebService数据映射

发布时间:2020-12-17 02:00:34 所属栏目:安全 来源:网络整理
导读:作用是 java对象 --- xml文件 ? 之间的转换 JAXB Annotation @XmlRootElement?? // xml 文件的根元素 @XmlElement @XmlAccessorType? // 表明类内,什么样的成员 是 可以被xml 转化 传输的? 可以是 FIELD PROPERTY ... @XmlTransient @XmlJavaTypeAdaptor???

作用是 java对象 <---> xml文件 ? 之间的转换

JAXB Annotation

@XmlRootElement?? // xml 文件的根元素

@XmlElement

@XmlAccessorType? // 表明类内,什么样的成员 是 可以被xml 转化 传输的? 可以是 FIELD PROPERTY ...

@XmlTransient

@XmlJavaTypeAdaptor????? http://speed847.iteye.com/blog/454231

?

?

1.1webService接口(传入一个对象参数)

@WebService
public interface ISampleService {

?public String sayUserName(
???@WebParam(name="user")
???UserDTO user);
}

?

1.2 webService实现类

@WebService(endpointInterface="com.server.ISampleService")
public class SampleServiceImpl implements ISampleService {

?public String sayUserName(UserDTO user) {
??
??return user.getName();
?}

}

?

1.3

/*
?* 使用jaxb 的annotation标注java-xml映射,尽量使用默认约定
?*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name="User")
public class UserDTO {
?private Integer id;
?private String name;

}

?

?

2.1 webService接口(返回一个list)

@WebService
public interface IListServer {

?public @WebResult(partName="lt") StringList tList();
}

?

?

2.2 webService实现类

@WebService(endpointInterface="com.server.list.IListServer",targetNamespace = "http://list.server.com/",serviceName = "ListServerService",portName = "ListServerPort")
public class ListServer implements IListServer{

?
?public StringList tList(){
??List<Object> lt=new ArrayList<Object>();
??lt.add(1);
??lt.add(233);
??lt.add("I love you!");
??lt.add("你好!");
??
??StringList sl=new StringList();
??sl.setStrList(lt);
??return sl;
?}
}

?

2.3 把list封装成一个对象

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(propOrder={"strList"},name="stringlist")
public class StringList {

?@XmlElement(nillable=true)
?private List<Object> strList;

?public List<Object> getStrList() {
??return strList;
?}

?public void setStrList(List<Object> strList) {
??this.strList = strList;
?}
}

?

?

JAXB uses annotations to specify which Java properties in a class should be serialized using MTOM or WSIAP. For MTOM,the @XmlMimeType annotation lets you specify how a binary (e.g.,java.awt.Image) Java property gets bound to a schema element decorated with the xmime:content-Type attribute. The xmime:contentType attribute [XMIME] is used to indicate the content type of an XML element with type xs:base64Binary or xs:hexBinary. For WSIAP,the @XmlAttachmentRef annotation plays the same role.

<script></script>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读