利用Ejb开发WebService
1、 创建EjbProject,项目名称为Ejb1
2、 在src建立com.fql.ejb包,
包下的类有,User.java(实体类),UserManager.java(接口),UserManagerBean.java(WebService)
3、 User.java类:
package com.fql.ejb;
public class User {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
4、 UserManager.java(接口)
package com.fql.ejb;
public interface UserManager {
public int addUser(User user);
public String sayHello(String name);
}
5、 UserManagerBean.java
package com.fql.ejb;
import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebService;
@Stateless
@WebService
public class UserManagerBean implements UserManager{
@WebMethod
public String sayHello(String name) {
return "你好,"+name;
}
@WebMethod
public int addUser(User user) {
System.out.println(user.getName()+"已经保存。");
user.setId(2);
return user.getId();
}
}
6、 开发WebService客户端:
a、项目名称为:Ejb1Client
b、在axis-1_4/samples/client目录下找到DynamicInvoker.java文件,用这个文件来访问WebService服务器端
c、导入Axisaxis-1_4/lib下的*.jar包
7、 部署Webservice,即部署Ejb1项目到Jboss服务器。
它将会生成一个wsdl文件,在/jboss-4.0.5.GA/server/default/data/wsdl/Ejb1.jar目录下生成相应的wsdl文件,即:UserManagerBeanService6646.wsdl
8、 运行DynamicInvoker.java类,要加入参数:
第一个参数为wsdl文件的路径:http://fql:8080/Ejb1/UserManagerBean?wsdl
第二个参数为要访问的方法名:sayHello
第三个参数为:方法要传入的参数,此处对就的sayHello(String name)方法的参数为字符串:如:李四
9、 运行DynamicInvoker.java,
输出结果为:
Executing operation sayHello with parameters:
sayHello>String_1=zhangsan
sayHelloResponse>result=你好,zhangsan
Done!