`
suhuanzheng7784877
  • 浏览: 704287 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47749
社区版块
存档分类
最新评论

JavaEE5学习笔记09-将EJB发布成WebService总结(2)

阅读更多

以上例子只是简单调用了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服务器的实现支持,那么必须得借助像CXFAxis2XFire这种Web服务框架了。目前用得比较多的就是Axis2CXF了。网上对2种框架也是褒贬不一,笔者的观点嘛~还是那句话,各有各的使用场景吧!
  • 大小: 23.4 KB
分享到:
评论

相关推荐

    JavaEE5学习笔记05-EJB之会话Bean总结

    ### JavaEE5学习笔记05-EJB之会话Bean总结 #### EJB(Enterprise JavaBeans)简介 EJB(Enterprise JavaBeans)是Java EE平台的一部分,用于开发和部署可重用的服务组件。EJB规范定义了如何编写、部署以及管理企业...

    JavaEE5学习笔记07-Web层与EJB集成总结

    ### JavaEE5学习笔记07-Web层与EJB集成总结 #### 一、JavaEE5框架中的Web层与EJB集成概述 在JavaEE5(即Java Platform, Enterprise Edition 5)中,Web层与EJB(Enterprise JavaBeans)的集成是构建企业级应用的...

    JavaEE5学习笔记06-EJB之消息驱动Bean总结

    ### Java EE 5 学习笔记06:EJB之消息驱动Bean总结 #### EJB 消息驱动 Bean (Message Driven Bean, MDB) 在Java EE 5中,消息驱动Bean(MDB)是一种特殊的EJB组件,它主要用于处理异步消息。MDB能够接收并处理由...

    JavaEE5学习笔记01-JTA和数据库事务

    ### JavaEE5学习笔记01-JTA和数据库事务:深入解析与应用 #### 一、JavaEE5概览与核心组件 JavaEE5是Java Enterprise Edition的第五个版本,标志着企业级Java应用的一个重要里程碑。它引入了一系列重要的新特性,...

    JavaEE5学习笔记02-JNDI与RMI

    总结来说,JNDI和RMI在JavaEE5中提供了强大的服务发现和分布式对象通信能力,使得开发者能够构建可扩展、模块化的企业级应用。通过JNDI,应用可以轻松地查找和利用服务器上的资源,而RMI则为远程对象的调用提供了...

    JavaEE5学习笔记04-JavaMail使用总结---3

    这篇学习笔记主要聚焦于JavaMail在JavaEE5中的使用,通过深入理解其核心概念和实践操作,我们可以更好地在实际项目中应用这一工具。 JavaMail API提供了一套标准的接口,允许Java应用程序发送和接收电子邮件。它...

    JavaEE源代码 struts2-core-2.0.11

    JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源...

    javaee-api-8.0-javadoc.jar

    javaee-api-8.0-javadoc.jar,这是javaee1.8api的jar包,解压后可用javadoc2chm制作成chm帮助文档。

    JavaEE源代码 struts2-spring-plugin-2.0.11

    JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-...

    javaee-api-6.0-5

    java javaee-api-6.0-5

    JavaEE源代码 jaxen-1.1-beta-7

    JavaEE源代码 jaxen-1.1-beta-7JavaEE源代码 jaxen-1.1-beta-7JavaEE源代码 jaxen-1.1-beta-7JavaEE源代码 jaxen-1.1-beta-7JavaEE源代码 jaxen-1.1-beta-7JavaEE源代码 jaxen-1.1-beta-7JavaEE源代码 jaxen-1.1-...

    JavaEE源代码 commons-logging-1.0.4

    JavaEE源代码 commons-logging-1.0.4JavaEE源代码 commons-logging-1.0.4JavaEE源代码 commons-logging-1.0.4JavaEE源代码 commons-logging-1.0.4JavaEE源代码 commons-logging-1.0.4JavaEE源代码 commons-logging-...

    JavaEE源代码 commons-collections-2.1.1

    JavaEE源代码 commons-collections-2.1.1JavaEE源代码 commons-collections-2.1.1JavaEE源代码 commons-collections-2.1.1JavaEE源代码 commons-collections-2.1.1JavaEE源代码 commons-collections-2.1.1JavaEE源...

    javaEE健康管理系统SSH-oracle(源码+数据库sql+lun文+视频齐全).zip

    javaEE健康管理系统SSH-oracle(源码+数据库sql+lun文+视频齐全)javaEE健康管理系统SSH-oracle(源码+数据库sql+lun文+视频齐全)javaEE健康管理系统SSH-oracle(源码+数据库sql+lun文+视频齐全)javaEE健康管理系统SSH-...

    javaee5-doc-api

    Java EE 5是这个平台的一个重要版本,它在2006年发布,带来了许多改进和新特性,旨在简化开发过程并提高生产力。在这个“javaee5-doc-api”压缩包中,包含的是Java EE 5的官方API文档,对于开发者来说是一份非常重要...

    JavaEE源代码 ognl-2.6.11

    JavaEE源代码 ognl-2.6.11JavaEE源代码 ognl-2.6.11JavaEE源代码 ognl-2.6.11JavaEE源代码 ognl-2.6.11JavaEE源代码 ognl-2.6.11JavaEE源代码 ognl-2.6.11JavaEE源代码 ognl-2.6.11JavaEE源代码 ognl-2.6.11JavaEE源...

    JavaEE源代码 xwork-2.0.4

    JavaEE源代码 xwork-2.0.4JavaEE源代码 xwork-2.0.4JavaEE源代码 xwork-2.0.4JavaEE源代码 xwork-2.0.4JavaEE源代码 xwork-2.0.4JavaEE源代码 xwork-2.0.4JavaEE源代码 xwork-2.0.4JavaEE源代码 xwork-2.0.4JavaEE源...

Global site tag (gtag.js) - Google Analytics