作用是 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>
相关推荐
JAXB允许我们将Java类映射到XML Schema,反之亦然。这意味着我们可以定义Java类来表示业务对象,然后JAXB会自动生成解析和序列化XML的代码。同样,当我们接收到XML数据时,JAXB也能自动将其转换为Java对象。 在创建...
在Java世界中,使用JAXB(Java Architecture for XML Binding)库可以方便地实现XML数据与Java对象之间的转换,从而在WebService中轻松处理数据交换。本篇文章将深入探讨如何使用JAXB进行XML到Object以及Object到XML...
总结来说,WebService数据转换涉及了XML作为通用数据交换格式的使用,客户端和服务端之间的数据模型映射,以及像JSR 181这样的标准来简化开发。学习这些知识点对于理解和构建跨平台、跨系统的互操作性解决方案至关...
然后,**JAXB** 是一个核心的Java技术,用于将XML文档和Java对象之间的映射自动化。它允许我们通过注解或者XML绑定配置文件来定义Java类和XML元素之间的关系。在Web服务中,JAXB通常用于序列化和反序列化Java对象到...
例如,通过JAXB(Java Architecture for XML Binding),可以将Java类直接映射为XML Schema,反之亦然。此外,XFire还支持其他数据格式,如JSON,这在与JavaScript交互或构建RESTful API时非常有用。 4. **XFire与...
2. **自定义数据类型**:对于像Map这样的复杂类型,开发者可以创建自定义的数据类型来映射XML元素。这通常涉及到创建一个Java类,该类具有一个或多个属性,用于存储Map的键值对,并通过注解这些属性来指示CXF如何...
JAXB提供了一种自动化的机制,将XML Schema(XSD)映射到Java类,反之亦然。这允许开发者在Java应用中存储和序列化数据为XML格式,同时保持代码的简洁性和可维护性。JAXB的核心组件包括: 1. **Unmarshaller**: ...
在这个示例中,提供的jar包可能包含了处理WebService调用所需的库,如JAXB(用于XML到Java对象的绑定)、SOAP相关的API等。确保正确地将这些jar包添加到你的项目类路径中,以便于Java程序能够正确运行。 此外,注意...
3. **创建Endpoint**: 实现服务业务逻辑,Spring-WS会自动将SOAP请求映射到相应的Java方法。 4. **配置并启动服务器**: 在Spring配置文件中配置Web服务,如端口、marshaller等,并部署到应用服务器。 5. **客户端...
通过为自定义类添加JAXB注解,如`@XmlRootElement`和`@XmlElement`,我们可以指示JAXB如何映射对象到XML元素。这样,自定义类就能在SOAP消息中顺利传递。 3. **使用Gson或Jackson库**: 如果使用RESTful Web...
2. **jaxb-api.jar**:Java Architecture for XML Binding (JAXB)用于将Java对象与XML文档之间进行映射。它允许我们从Java对象生成XML,反之亦然。在Web服务中,JAXB用于序列化和反序列化数据。 3. **activation....
JAXB允许我们通过简单的注解将Java类映射为XML Schema,从而实现对象的序列化和反序列化。 3. **创建Web服务** 创建一个CXF Web服务的第一步是定义服务接口和实现。接口声明了服务的公共操作,而实现提供了这些...
在Web服务中,JAXB用于在XML和Java数据类型之间进行序列化和反序列化,使得数据传输更加便捷。 6. Spring Framework:Spring提供了全面的Web服务支持,包括SOAP和REST。Spring Web Services专注于创建基于文档驱动...
7. **JAXB绑定**:JAX-WS与Java Architecture for XML Binding (JAXB)紧密集成,允许开发者将Java对象与XML schema进行映射,简化数据的序列化和反序列化过程。 在实际开发中,使用JAX-WS的步骤通常包括:定义服务...
WebService是一种基于XML(Extensible Markup Language)的开放标准,它允许不同系统间的应用程序通过网络进行交互,实现数据共享和服务的互操作性。在Java开发环境中,XFire是一个流行且功能强大的开源工具,用于...
JAX-WS通常包含在myeclipse的jar包中,如`webservice.jar`,它提供了从Java类到SOAP消息的映射,以及从SOAP消息到Java对象的反向映射。 3. ** Axis**:Axis是Apache软件基金会的一个开源项目,它为Java开发者提供了...
6. **数据绑定**:CXF支持JAXB(Java Architecture for XML Binding),将XML与Java对象之间进行映射。这意味着XML文档可以直接转换为Java对象,反之亦然,简化了数据的序列化和反序列化。 7. **安全性**:CXF支持...
Web服务(WebService)是一种基于互联网的、平台独立的软件接口,允许不同系统之间进行交互和数据交换。在Java开发环境中,实现Web服务通常涉及到一系列的jar包,这些库提供了必要的API和技术支持。"webservice"项目...
3. **jsr173_api-1.0.jar**:Java API for XML Processing (JAXB) 规范的参考实现,用于XML和Java对象之间的映射,方便数据交换。 4. **jaxb-xjc-2.0.jar**:JAXB的XJC工具,用于从XML Schema生成Java类,帮助构建...
1. **Java Architecture for XML Binding (JAXB)**:JAXB提供了一种机制,用于将XML Schema映射到Java代码,实现了数据绑定。这消除了手动处理XML和SOAP消息的需要,大大降低了编码难度。JAXB规范定义了Java和XML ...