今天写了个简单的web服务,用jaxws2.0实现的。
1.创建一个web service Project项目Jaxsws,web Service&J2EE Details 那一栏选择Jax-Ws项
2.添加myeclipse自带的两个库JAX-WS2.1 Runtime Libraries 和JAX-WS2.1 API Libraries
3.创建一个person类,放在com.pojo 包下
public Class Person{
private String uname;
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
}
4.创建一个要发布服务接口和实现类,分别放在com.service和com.service.impl下
public Interface IpersonService{
public Person findPerson(Person p);
}
public Class PersonServiceImple implents IpersonService{
public Person findPerson(Person p)
{
p.setUname("jax-ws2.0实现web服务");
}
}
5发布服务,创建一个web service ,framework:选择JAX-WS选项,Strategy选择 create web service from java class (Bottom-up scenario)选项。
下一步选择你要发布的类(即供别人调用的类),Generate WSDL in Project 选项可选可不选。点击完成,就会生成一个PersonServiceImplDelegate类(即PersonServiceImpl的代理类,访问程序时会使用到)
在com.service.impl下和一个wsdl文件夹、sun-jaxws.xml文件、web.xml文件配置好的访问serverlet的路径。自此发布服务已经完成。
6.创建客户端程序。创建一个web service project 项目JaxsClient,web Service&J2EE Details 那一栏选择Jax-Ws项,点击完成。
7.创建一个web service client,在New web Service client 这个对话框中只需填入wsdl的路径即可(wsdl路径的获取可以通过访问服务器端如:http://192.168.1.177:8080/项目名/代理类,就可以得到swdl的访问路径),点击完成即可。
8.写个实现类调用服务即可
public Class Client{
public static void main(String args[]){
PersonImplService service=new PersonImplService();
PersonImplDelegate client=service.getPersonImplPort();
Person p=new Person();
p.setUname("plo");
p=client.findPerson(p);
System.out.println(p.getUname());
}
}
结果打印的是jax-ws2.0实现web服务,一个简单的web 服务就完成了。