以上例子只是简单调用了WebService,参数是简单的String,如果我们客户端需要获得复杂的,自定义的对象可以吗?答案是EJB容器也很完美的做到了
服务端代码如下
package webservice.HelloWebService;
import javax.ejb.Stateless;
import javax.jws.WebService;
import webservice.HelloWebService.pojo.Car;
@Stateless
@WebService(name = "HelloWebService")
public class CarWebService {
public Car callCar(String name) {
System.out.println("客户" + name + "端调用了服务器端的代码");
Car car = new Car();
car.setName("宝马");
car.setMessage("BMW");
return car;
}
}
|
这个服务类调用了一个Car实体类,这个类是一个自定义的POJO类
代码如下
package webservice.HelloWebService.pojo;
public class Car {
private String name;
private String message;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "name:" + name + " -- " + message;
}
}
|
客户端在生成代码的时候也会将这个返回值的实体类代码生成一下。客户端生成的程序如下

测试代码如下
public static void main(String[] args) {
CarWebServiceService carWebServiceService = new CarWebServiceService();
HelloWebService helloWebService = carWebServiceService
.getHelloWebServicePort();
Car car = helloWebService.callCar("素续缘");
System.out.println(car.getName() + "--" + car.getMessage());
}
|
但是需要说明的一点就是在服务器端此Car实体类自己覆盖了toString方法,在客户端生成后的代码,并没有也像服务端那样覆盖toString,所以来说对于实体作为参数或者返回值的话,WebService关注的就是属性值。如果我们没有EJB服务器的实现支持,那么必须得借助像CXF、Axis2、XFire这种Web服务框架了。目前用得比较多的就是Axis2和CXF了。网上对2种框架也是褒贬不一,笔者的观点嘛~还是那句话,各有各的使用场景吧!

- 大小: 23.4 KB
分享到:
相关推荐
### JavaEE5学习笔记09-将EJB发布成WebService总结 #### 一、EJB与WebService概述 在Java EE 5(Java Platform, Enterprise Edition)中,企业级应用程序的开发变得更为简单和灵活。EJB(Enterprise JavaBeans)...
在JavaEE5中,可以将EJB组件发布成WebService,这样就能够提供跨平台的网络服务接口,便于不同系统之间的互操作性。 8. JavaMail:JavaMail是JavaEE5用于发送和接收邮件的一个API,它支持SMTP和IMAP协议,使得...
### JavaEE 学习笔记概览 #### 一、JavaEE 概念及发展历程 JavaEE(Java Platform, Enterprise Edition)是Sun Microsystems公司为简化企业级应用开发而提出的一套标准化平台,它提供了构建分布式系统的基本框架和...
嵌入式八股文面试题库资料知识宝典-华为的面试试题.zip
训练导控系统设计.pdf
嵌入式八股文面试题库资料知识宝典-网络编程.zip
人脸转正GAN模型的高效压缩.pdf
少儿编程scratch项目源代码文件案例素材-几何冲刺 转瞬即逝.zip
少儿编程scratch项目源代码文件案例素材-鸡蛋.zip
嵌入式系统_USB设备枚举与HID通信_CH559单片机USB主机键盘鼠标复合设备控制_基于CH559单片机的USB主机模式设备枚举与键盘鼠标数据收发系统支持复合设备识别与HID
嵌入式八股文面试题库资料知识宝典-linux常见面试题.zip
面向智慧工地的压力机在线数据的预警应用开发.pdf
基于Unity3D的鱼类运动行为可视化研究.pdf
少儿编程scratch项目源代码文件案例素材-霍格沃茨魔法学校.zip
少儿编程scratch项目源代码文件案例素材-金币冲刺.zip
内容概要:本文深入探讨了HarmonyOS编译构建子系统的作用及其技术细节。作为鸿蒙操作系统背后的关键技术之一,编译构建子系统通过GN和Ninja工具实现了高效的源代码到机器代码的转换,确保了系统的稳定性和性能优化。该系统不仅支持多系统版本构建、芯片厂商定制,还具备强大的调试与维护能力。其高效编译速度、灵活性和可扩展性使其在华为设备和其他智能终端中发挥了重要作用。文章还比较了HarmonyOS编译构建子系统与安卓和iOS编译系统的异同,并展望了其未来的发展趋势和技术演进方向。; 适合人群:对操作系统底层技术感兴趣的开发者、工程师和技术爱好者。; 使用场景及目标:①了解HarmonyOS编译构建子系统的基本概念和工作原理;②掌握其在不同设备上的应用和优化策略;③对比HarmonyOS与安卓、iOS编译系统的差异;④探索其未来发展方向和技术演进路径。; 其他说明:本文详细介绍了HarmonyOS编译构建子系统的架构设计、核心功能和实际应用案例,强调了其在万物互联时代的重要性和潜力。阅读时建议重点关注编译构建子系统的独特优势及其对鸿蒙生态系统的深远影响。
嵌入式八股文面试题库资料知识宝典-奇虎360 2015校园招聘C++研发工程师笔试题.zip
嵌入式八股文面试题库资料知识宝典-腾讯2014校园招聘C语言笔试题(附答案).zip
双种群变异策略改进RWCE算法优化换热网络.pdf
内容概要:本文详细介绍了基于瞬时无功功率理论的三电平有源电力滤波器(APF)仿真研究。主要内容涵盖并联型APF的工作原理、三相三电平NPC结构、谐波检测方法(ipiq)、双闭环控制策略(电压外环+电流内环PI控制)以及SVPWM矢量调制技术。仿真结果显示,在APF投入前后,电网电流THD从21.9%降至3.77%,显著提高了电能质量。 适用人群:从事电力系统研究、电力电子技术开发的专业人士,尤其是对有源电力滤波器及其仿真感兴趣的工程师和技术人员。 使用场景及目标:适用于需要解决电力系统中谐波污染和无功补偿问题的研究项目。目标是通过仿真验证APF的有效性和可行性,优化电力系统的电能质量。 其他说明:文中提到的仿真模型涉及多个关键模块,如三相交流电压模块、非线性负载、信号采集模块、LC滤波器模块等,这些模块的设计和协同工作对于实现良好的谐波抑制和无功补偿至关重要。