1).开发服务器端
• Web Service编码:
@WebService( SEI和SEI的实现类)
@WebMethod(SEI中的所有方法)
SEI接口:
@WebService public interface Service { @WebMethod public String sayHello(String name);
SEL实现:
@WebService public class ServiceImpl implements Service { @Override public String hello(String name) { System.out.println("sayHello:"+name); return "你好:"+name; } }
• 发布Web Service:
Endpoint(终端, 发布webservice)
public static void main(String[] args) { //访问web service接口的url String address="http://localhost:8989/day01_ws/hellows"; Endpoint.publish(address, new ServiceImpl()); System.out.println("发布服务成功!"); }
2). 开发客户端
• 使用eclipse提供的web service浏览器访问(即:Web Services Explorer)
查看对应的wsdl文档:…..?wsdl (一般浏览器)
请求webService并查看请求和响应消息(webservice浏览器)
• 创建客户端应用编码方式访问
借助jdk的wsimort.exe工具生成客户端代码:
wsimport -keep url //url为wsdl文件的路径(或者直接使用wsdl的地址:http://localhost:8989/day01_ws/hellows?wsdl)
借助生成的代码编写请求代码
public static void main(String[] args) { //通过wsdl文的service节点中的name属性值创建工厂对象 ServiceImplService factory=new ServiceImplService(); //通过工厂获取web service实现类的代理对象 ServiceImpl serviceImpl=factory.getServiceImplPort(); //调用 System.out.println(serviceImpl.sayHello("李四")); }