java学习笔记之webservice(一)-入门实例,自定义webservice服务
来源:互联网 发布:特色课程优化基本设想 编辑:程序博客网 时间:2024/05/27 19:26
1 WebService是用来做什么?
WebService是一种跨编程语言和跨操作系统知识库"操作系统平台的远程调用技术。用于网络通信,多台机器之间的数据交互。
2 与socket的区别
1. socket是在网络中的数据传输层,采用的是TCP/UDP协议,webservice是属于应用层,采用的是http协议
2. socket建立是长连接,webservice建立的是短连接(调用服务时建立连接,调用完毕后断开连接)
3 WebService入门实例
3.1 定义服务
a). 定义服务的接口:
package com.beauxie.webservice;import javax.jws.WebService;/** * 定义服务的接口 * @author Beauxie * */@WebService//此注解用在类上指定将此类发布成一个WebServicepublic interface Speaker { String sayHello(String name);}
b). 创建实现这个接口的实现类:
package com.beauxie.webservice;import javax.jws.WebService;/** * 定义服务的实现类 * @author Beauxie */@WebService(endpointInterface="com.beauxie.webservice.Speaker")public class Person implements Speaker {public String sayHello(String name) { return "Hello,"+name;}}
注意:接口和实现类中必须用@WebService注解,并且在实现类的注解中必须指定endpointInterface属性的值为接口的全限定名
3.2 发布服务
package com.beauxie.webservice;import javax.xml.ws.Endpoint;/** * 发布服务 * @author Beauxie */public class Service {public static void main(String[] args){//1.定义发布的地址String url = "http://localhost:8080/demo";//2.发布服务//第一个参数是指定你要发布的地址,第二个参数是你要发布的服务对象Endpoint.publish(url, new Person());System.out.println("服务器已启动");}}运行程序进行发布,运行结果:
然后打开浏览器访问http://localhost:8080/demo?wsdl,只要在客户端浏览器能看以下WSDL文档,说明服务发布成功:
3.3 客户端去调用服务
如果是内部系统之间的调用,那么提供2个信息就可以调用webservice:
1. wsdl的地址
2. 接口文件(jar包)
package com.beauxie.webservice;import java.net.URL;import javax.xml.namespace.QName;import javax.xml.ws.Service;/** * 客服端调用 * @author Beauxie * */public class Client {public static void main(String[] args) throws Exception {//1.声明所发布的服务对应的wsdl地址URL url=new URL("http://localhost:8080/demo?wsdl");//2.声明所要调用的QnameQName qname=new QName("http://webservice.beauxie.com/", "PersonService");//3.创建客户端的服务代理对象Service service=Service.create(url,qname);Speaker speaker = service.getPort(Speaker.class);//4.调用服务的方法String str=speaker.sayHello("Beauxie");System.out.println(str);}}运行结果:
附:QName中两个参数所对应wsdl文档中参数:
其实可以直接访问http://localhost:8080/demo,但由于自己的电脑原因,无法访问,所以只能访问wsdl地址了。
》》未完待续,接下一篇
1 0
- java学习笔记之webservice(一)-入门实例,自定义webservice服务
- webservice入门实例(一)
- 调用webservice服务(一) 学习笔记
- Java WebService入门实例
- Java WebService入门实例
- Java WebService入门实例
- Java WebService入门实例
- Java WebService入门实例
- Java WebService入门实例
- Java WebService入门实例
- webservice 入门笔记一
- WebService学习笔记(一)
- webservice学习笔记(一)
- WebService入门学习笔记
- java WebService jws 入门学习笔记
- WebService 学习笔记一
- (一)WebService之Soap服务
- Java WebService学习笔记 - Axis(一)
- Redis安装
- HDU 1814 Peaceful Commission
- Apache Kafka-个人翻译(入门kafka资料)-Introduction
- java I/O流
- 2016.10.18打卡 距NOIP32天
- java学习笔记之webservice(一)-入门实例,自定义webservice服务
- if else if else 语句的拓展
- 最长连续序列
- 尺取法
- [leetcode]Insert Interval
- KEIL MDK 5默认快捷键一览
- Java异常处理机制
- 逆向分析之核心代码的定位
- 从你的全世界路过