简单JavaBean对象传递
来源:互联网 发布:企业数据分析 编辑:程序博客网 时间:2024/05/16 11:14
这一节我们就CXF框架简单的JavaBean对象传递进行讲解。
第一步:创建传输的JavaBean对象(UserInfo)
package com.ws.model;import javax.xml.bind.annotation.XmlAccessType;import javax.xml.bind.annotation.XmlAccessorType;import javax.xml.bind.annotation.XmlRootElement;import javax.xml.bind.annotation.XmlType;@XmlRootElement(name="UserInfo")@XmlAccessorType(XmlAccessType.FIELD)@XmlType(propOrder={"userName","userAge"})public class UserInfo {private String userName;private Integer userAge;public UserInfo(String name,Integer age){this.userAge = age;this.userName = name;}public UserInfo(){}// 添加geter/seter方法..}
注解:@XmlRootElement-指定XML根元素名称(可选)
@XmlAccessorType-控制属性或方法序列化 , 四种方案:
FIELD-对每个非静态,非瞬变属性JAXB工具自动绑定成XML,除非注明XmlTransient
NONE-不做任何处理
PROPERTY-对具有set/get方法的属性进行绑定,除非注明XmlTransient
PUBLIC_MEMBER -对有set/get方法的属性或具有共公访问权限的属性进行绑定,除非注 明XmlTransient
@XmlType-映射一个类或一个枚举类型成一个XML Schema类型
第二步:创建webservices服务端接口和实现类
1、创建服务端接口类
package com.ws.services;import javax.jws.WebService;import com.ws.model.UserInfo;@WebServicepublic interface IUserServices {public UserInfo getUserInfo(String userName, Integer userAge);}
2、创建服务端接口实现类
package com.ws.services.impl;import javax.jws.WebService;import com.ws.model.UserInfo;import com.ws.services.IUserServices;@WebServicepublic class UserServicesImpl implements IUserServices {public UserInfo getUserInfo(String userName, Integer userAge) {return new UserInfo(userName,userAge);}}
3、创建服务端,并发布服务
package com.test;import javax.xml.ws.Endpoint;import org.apache.cxf.jaxws.JaxWsServerFactoryBean;import com.ws.services.impl.UserServicesImpl;public class ServerTest {public ServerTest(){// 发布User服务接口Endpoint.publish("http://localhost:8090/userInfoServices", new UserServicesImpl());}public static void main(String[] args) {// 启动服务new ServerTest();System.out.println("Server ready..."); try {Thread.sleep(1000*300);//休眠五分分钟,便于测试 } catch (InterruptedException e) {e.printStackTrace();} System.out.println("Server exit..."); System.exit(0);}}
第三步:创建webservices客户端,并进行测试(这里只例举在客户端工程中的测试方法)
1、将服务端的JavaBean和Services接口类,copy到客户端工程中,且目录要一致
2、在客户端工程中,新建一个测试类测试
package com.ws.client;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;import com.ws.model.UserInfo;import com.ws.server.IUserServices;public class UserTest {public static void main(String[] args) {//创建WebService客户端代理工厂 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); //注册WebService接口 factory.setServiceClass(IUserServices.class); //设置WebService地址 factory.setAddress("http://localhost:8090/userInfoServices"); IUserServices userServices = (IUserServices)factory.create(); System.out.println("invoke userinfo webservice...");// 测试返回JavaBean对象的UserInfo user = userServices.getUserInfo("vicky", 23);System.out.println("UserName: "+user.getUserName());System.out.println("UserAge : "+user.getUserAge());System.exit(0); } }
第四步:运行webServices服务,在IE中输入http://localhost:8090/userInfoServices?wsdl,验证服务是否成功发布
第五步:运行客户端,验证。
- 简单JavaBean对象传递
- CXF框架简单的JavaBean对象传递进行讲解。
- WebService CXF学习(进阶篇1):自定义对象传递(简单JavaBean对象)
- WebService CXF学习(进阶篇1):自定义对象传递(简单JavaBean对象)
- AXIS传递包含javaBean对象的List对象
- 在Servlet中将javaBean对象传递到jsp页面中
- Servlet中将JavaBean对象传递到JSP页
- Activity传递JavaBean对象集合给Activity/Fragment
- Java反射之复制简单的JavaBean对象
- Intent传递javabean
- AIDL传递复杂对象的简单例子
- Intent传递简单对象与集合
- Intent传递简单对象与集合
- Intent传递简单对象与集合
- Android Bundle传递简单数据、对象数据
- Android Bundle传递简单数据、对象数据
- 利用AXIS开发Webservice(三) —— 如何传递JavaBean和你的对象
- 利用AXIS开发Webservice(三) —— 如何传递JavaBean和你的对象
- LBP学习
- 安装Nginx过程全解析
- JSP原理笔记(三)
- 高级语言程序设计第一次上机报告
- UNIX/LINUX 平台可执行文件格式分析
- 简单JavaBean对象传递
- 如何激励同事编写单元测试
- 面试题---push,pop,min复杂度都为常数的stack
- linux 下 nginx phpcgi 的安装及配置
- [过游戏保护]之第一讲[背包、怪物、技能地面物品、任务、队友、装备、宠物、周围玩家]
- 开启Win8的无线路由器功能(Wifi共享)
- JavaScript跨域总结与解决办法
- KMP
- Python图表绘制:matplotlib绘图库入门