作用是 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>