依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。
Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。
Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。
Web Service减少了应用接口的花费。
Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制一、 WebService生成1.在eclipse或myclipse新建一个Web项目,并新建一个class类,用于发布;2.编写供客户端调用的方法,即编译方法代码;示例:import javax.jws.WebMethod;import javax.jws.WebService;import javax.xml.ws.Endpoint;/*** Title: ServiceHello* Description: 基于jdk1.6以上的javax.jws 发布webservice接口@WebService - 它是一个注解,用在类上指定将此类发布成一个ws。
Endpoint – 此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上。
* Version:1.0.0* @author panchengming*/@WebServicepublic class JwsServiceHello {/** 供客户端调用方法 该方法是非静态的,会被发布* @param name 传入参数* @return String 返回结果* */public String getValue(String name){return “欢迎你! “+name;}/*** 方法上加@WebMentod(exclude=true)后,此方法不被发布;* @param name* @return*/@WebMethod(exclude=true)public String getHello(String name){return “你好! “+name;}/** 静态方法不会被发布* @param name* @return*/public static String getString(String name){return “再见!”+name;}//通过EndPoint(端点服务)发布一个WebServicepublic static void main(String[] args) {/*参数:1,本地的服务地址;2,提供服务的类;*/Endpoint.publish(“http://192.168.1.105:8080/Service/ServiceHello”, new JwsServiceHello());System.out.println(“发布成功!”);//发布成功后 在浏览器输入http://192.168.1.105:8080/Service/ServiceHello?wsdl}}3.进行编译运行(注:失败检查jdk版本)4.将所设地址加上?wsdl到浏览器上访问,如出现XML格式代码,则发布成功,反之,则否;(url:http://192.168.1.105:8080/Service/ServiceHello?wsdl)二、WebService调用方法生成代码方式一1.新建一个class类,用于调用webservice。
右键src,找到Web Service Client,并输入wsdl地址,选择下载代码的路径;(url:http://192.168.1.105:8080/Service/ServiceHello?wsdl)2.将地址上的文件下载下来(注意和发布JDK一致);3.写调用方法调用下载下来的WebService中的java类中的方法;示例:import com.pcm.ws.jws.JwsServiceHello;import com.pcm.ws.jws.JwsServiceHelloService;/**** Title: JwsClientHello* Description: webService 客户端调用* Version:1.0.0* @author panchengming*/public class JwsClientHello {public static void main(String[] args) {//调用webserviceJwsServiceHello hello=new JwsServiceHelloService().getJwsServiceHelloPort();String name=hello.getValue(“panchengming”);System.out.println(name);}}生成代码方式二1.创建Web Service Project,命名为TheClient。
2.在dos命令下输入 wsimport -s “src目录” -p “生成类所在包名” -keep “wsdl发布地址”示例:wsimport -s G:workspacewebServicewebService_Projectsrc -p com.pcm.ws.jws -keephttp://192.168.1.105:8080/Service/ServiceHello?wsdl3.成功则返回 parsing WSDL…generating code…compiling code…4.刷新项目,生成类;5,写调用方法(同上);三、总结:如何发布一个Web服务:a,在类上添加@WebService注解(注:此注解是jdk1.6提供的,位于javax.jws.WebService包中)b,通过EndPoint(端点服务)发布一个WebService(注:EndPoint是jdk提供的一个专门用于发布服务的类,该类的publish方法接收两个参数,一个是本地的服务地址,二是提供服务的类。
位于 javax.xml.ws.Endpoint包中)c,注:类上添加注解@WebService,类中所有非静态方法都会被发布;静态方法和final方法不能被发布;方法上加@WebMentod(exclude=true)后,此方法不被发布;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)