1、用MyEclipse创建jaxws一、用MyEclipse创建一个web项目如下: 二、代码如下 User.java package po;public class User private int age; private String name; public int getAge() return age; public void setAge(int age) this.age = age; public String getName() return name; public void setName(String name) this.name = name; ReqService
2、.javapackage service;import java.util.List;import po.User;public interface ReqService public User getUserByName(String name); public List getUsersByAge(int age); ReqServiceImpl.javaimport java.util.List;import po.User;public class ReqServiceImpl implements ReqService public User getUserByName(String
3、 name) User user = new User(); user.setName(name); System.out.println(service: + name is + user.getName(); return user; public List getUsersByAge(int age) List list = new ArrayList(); User user = new User(); user.setAge(age); list.add(user); System.out.println(service : + list.get(0).getAge(); retur
4、n list; 三、创建web service端(服务器端) 下一步后,选择刚才建立的web 项目,Strategy单选项选择“Create web service from Java class(Bottom-up scenario)”,如下下一步后,选择服务接口的实现类,并选中Generate WSDL in project如下完成后,项目结构如下四、添加jax-ws必须包五、部署项目,并启动。如没报错就表示服务器端建立成功在浏览器地址栏写入如下就可以看到对应的wsdl文件里的内容 http:/localhost:8080/jaxWsWebservice/ReqServiceImplPor
5、t?WSDL六、创建一个普通java项目作为web service client(客户端) 七、创建一个web service client 下一步后,选择刚才创建的客户端项目下一步后1、如果开发时服务器端正在运行并可以访问或者在本地运行在默认选项WSDL File的右边点击按钮,把服务器端的wsdl文件复制到客户端项目里并选择 wsdl文件。在Java package选择选择一个包或者创建一个包来放将要生成的java类 2、如果开发时服务器端不在线也不在本地运行,那只能用wsdl文件来创建客户端下一步后,就检验wsdl文件,检验后正确如下或者下一步添加一些jar包(在本例中这些暂时用不上)完
6、成后,该客户端项目结构如下把ReqServiceImplService类里的静态块static URL url = null; try URL baseUrl; baseUrl = service.ReqServiceImplService.class.getResource(.); url = new URL(baseUrl, file:/E:/projects/myprojects/jaxWsWebserviceClient/src/wsdl/ReqServiceImplService.wsdl); catch (MalformedURLException e) /code REQSERV
7、ICEIMPLSERVICE_WSDL_LOCATION = url; 改为如下(就是改变URL的构造函数里的url地址,这个地址最好做成可配置方式。如果服务器地址改变的话,可以很方便地进行配置) static URL url = null; try URL baseUrl; baseUrl = service.ReqServiceImplService.class.getResource(.); url = new URL(baseUrl, http:/localhost:8080/jaxWsWebservice/ReqServiceImplPort?WSDL); catch (Malfor
8、medURLException e) /code REQSERVICEIMPLSERVICE_WSDL_LOCATION = url; 八、在客户端创建test包,在该包下建立一个Test1类作为测试类来连接访问服务器端Test1.javapackage test;import java.util.List;import service.ReqServiceImplDelegate;import service.ReqServiceImplService;import service.User;public class Test1 public static void main(String
9、args) ReqServiceImplDelegate client = new ReqServiceImplService().getReqServiceImplPort(); User user = client.getUserByName(chen); System.out.println(client : + user.getName(); List list = client.getUsersByAge(25); System.out.println(client : + list.get(0).getAge(); 九、客户端项目最后结构如 十、运行Test1类进行访问服务器端服务器打印如下 service :name is chenservice :25客户端打印如下 client :chenclient :25如没报错则成功完成jax-ws项目