接下来的我们将会自定义一个对象,然后看看EJB是如何对复杂的参数发布成WebService的.
代码如下:在第一个版本的基础之上加上增加用户的方法,参数为User.
package com.tgb.ejb; import javax.ejb.Remote; import javax.ejb.Stateless; import javax.jws.WebMethod; import javax.jws.WebService; @Remote @Stateless @WebService(name = "UserManagerWebService" ) public class UserManagerBean implements UserManager{ @WebMethod public User addUser(String name) { System.out.println("客户" + name + "端调用了服务器端的代码"); User user = new User(); User.setName(name); User.setAge(24"); User.setAddress("BeiJing"); return user; } @WebMethod public String sayHello(String name) { return "你好" + name; } }
从代码中我们可以看到这个服务类调用了一个User实体类,这个类是一个自定义的POJO类.代码如下:
package com.tgb.ejb; public class User { private String name; private int age ; private String address; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { // Todo Auto-generated method stub return "name:" + name ; } }
客户端在生成代码的时候也会将这个User实体类代码生成一下。客户端生成的程序如下:
package ejb_webservice_client; import ejb_webservice_client.*; public class WebServiceClient { public static void main(String[] args) { System.out.println("***********************"); System.out.println("Create Web Service Client..."); UserManagerBeanService userManagerService = new UserManagerBeanService(); System.out.println("Create Web Service..."); UserManagerWebService userManager = userManagerService.getUserManagerWebServicePort(); User user =userManager.addUser("jnqqls"); System.out.println("Call Web Service Operation..."); System.out.println("Server said: " + user.getName()); System.out.println("***********************"); System.out.println("Call Over!"); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。