WebService服务 Web服务: 实现类似单独项目中代码的重用(如果用到其他项目中另类似功能模块),为一个应用程序。通过网络来描述,发布,定位和调用。基于web无缝继承的目标,实现系统集成的平台无关性,语言无关性(从一个类中调用另一个类,实现跨平台) Service服务: service 是一个应用程序,能够用编程的方法通过web调用来实现莫个功能的应用程序。基于: •SOAP协议 (封装和交换信息的默认协议。用于交换xml编码系想你的轻量级协议) •采用XML加载数据 •WSDL描述言语 Web服务描述语言,采用xml格式描述web服务的用途和调用方法。便于客户端应用程序调用web服务。 •创建服务的元数据 •创建服务的代理 •服务的地址 •调用服务 实现步骤: •引入XFixe包库 添加XFixe-all-1.2.3.jar包 (免费的开源soap框架,方便实现web服务环境,提供web服务中的高级特征) •编写接口和实现类 package demo; public interface HelloIf { public String sayHello(String name); } public class HelloImpl implements HelloIf{ public String sayHello(String name){ return "hello:"+name; } } •创建services.xml文件,该文件包含 1. 服务名称 2. 服务的命名接口 3. 指定接口 4. 执行实现借口的实现类 • web.xml 拦截service •创建客户端程序调用 package test; import java.net.MalformedURLException; import org.codehaus.xfire.XFire; import org.codehaus.xfire.XFireFactory; import org.codehaus.xfire.client.XFireProxyFactory; import org.codehaus.xfire.service.Service; import org.codehaus.xfire.service.binding.ObjectServiceFactory; import demo.HelloIf; public class T { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Service serviceModel = new ObjectServiceFactory() .create(HelloIf.class); XFire xfire = XFireFactory.newInstance().getXFire(); XFireProxyFactory factory = new XFireProxyFactory(xfire); String serviceUrl = "http://localhost:8080/b3_day11_ws/services/HelloWS"; HelloIf client = null; try { client = (HelloIf) factory.create(serviceModel, serviceUrl); } catch (MalformedURLException e) { } String serviceResponse = null; try { serviceResponse = client.sayHello("Tompp"); System.out.println(serviceResponse+"|||||||||||||||||"); } catch (Exception e) { } } } ------------------- 没掌握好------------------------