WebService (什么是WebService ,有哪些优点? WebService由什么组成?分别对应的含义?)
2015-01-10 11:29
405 查看
1. 关于WebService
可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。
(2)WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL(web服务定义语言)/SOAP(简单请求协议)规范的。
(3)WebService=WSDL+SOAP+UDDI(webservice的注册),Soap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和Body。
(4)Web Service是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。
(2) 松耦合。
(3) 基于标准协议(通用语言,允许其他程序访问)。
(2) Service Provider 采用UDDI将服务的描述文件发布到UDDI服务器(Register server)。
(3)Service Requestor在UDDI服务器上查询并 获取WSDL文件。
(4)Service requestor将请求绑定到SOAP,并访问相应的服务。
------------------------------
-------------------------------
SOAP : ( Simple Object Access Protocol ) 简单对象访问协议;
是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。
SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。
它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。
------------------------------
UDDI : ( Universal Description, Discovery and Integration ),通用描述、发现与集成服务。
UDDI 是一种目录服务,企业可以使用它对 Web services 进行注册和搜索。
--案例-------------------------------------------------------------------------------------------------------------------------
服务器端:
创建接口
2. 实现接口
——————————————————————————————————————————————————————————————————————————————
3. 虚拟测试效果(只是方便测试效果)
——————————————————————————————————————————————————————————————————————————————
客户端:
找到 apache-cxf-3.0.1 存放的路径,找到其下的 bin
(在 cmd ---- F:----cd apache-cxf-3.0.1---cd bin (提前将com文件删掉)---wsdl2java -frontend jaxws21 http://192.168.1.137:8080/web?wsdl )
WebService简介
(1)WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。
(2)WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL(web服务定义语言)/SOAP(简单请求协议)规范的。
(3)WebService=WSDL+SOAP+UDDI(webservice的注册),Soap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和Body。
(4)Web Service是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。
WebService的优点
(1) 可以让异构的程序相互访问(跨平台)。(2) 松耦合。
(3) 基于标准协议(通用语言,允许其他程序访问)。
WebService的基本原理
(1) Service Provider采用WSDL描述服务。(2) Service Provider 采用UDDI将服务的描述文件发布到UDDI服务器(Register server)。
(3)Service Requestor在UDDI服务器上查询并 获取WSDL文件。
(4)Service requestor将请求绑定到SOAP,并访问相应的服务。
------------------------------
WSDL
: ( Web services Definition Language ) Web服务定义语言;-------------------------------
SOAP : ( Simple Object Access Protocol ) 简单对象访问协议;
是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。
SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。
它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。
------------------------------
UDDI : ( Universal Description, Discovery and Integration ),通用描述、发现与集成服务。
UDDI 是一种目录服务,企业可以使用它对 Web services 进行注册和搜索。
--案例-------------------------------------------------------------------------------------------------------------------------
服务器端:
创建接口
package com.seecen.service; import javax.jws.WebParam; import javax.jws.WebService; @WebService public interface IWebService { String sayHi(@WebParam(name="text")String text,@WebParam(name="age")int age); // 参数的名字叫text }
2. 实现接口
package com.seecen.service.impl; import javax.jws.WebService; import com.seecen.service.IWebService; @WebService(endpointInterface ="com.seecen.service.IWebService",serviceName="testService") public class WebServiceImpl implements IWebService{ public String sayHi(String text, int age) { return "思成" + text + age; } }
——————————————————————————————————————————————————————————————————————————————
3. 虚拟测试效果(只是方便测试效果)
package main; import javax.xml.ws.Endpoint; import com.seecen.service.IWebService; import com.seecen.service.impl.WebServiceImpl; public class TestService { public static void main(String[] args) { System.out.println("Web Service start"); IWebService webService = new WebServiceImpl(); String address = "http://192.168.1.137:8080/web"; Endpoint.publish(address,webService); // 发布服务地址和接口 System.out.println("Web Service started"); } }
——————————————————————————————————————————————————————————————————————————————
客户端:
找到 apache-cxf-3.0.1 存放的路径,找到其下的 bin
(在 cmd ---- F:----cd apache-cxf-3.0.1---cd bin (提前将com文件删掉)---wsdl2java -frontend jaxws21 http://192.168.1.137:8080/web?wsdl )
public class Test { /** * @param args */ public static void main(String[] args) { JaxWsProxyFactoryBean svr = new JaxWsProxyFactoryBean(); //通过JaxWsProxyFactoryBean动态生成客户端代理 svr.setServiceClass(IWebService.class); //传入服务接口 svr.setAddress("http://192.168.1.137:8080/web"); //发布服务的地址 IWebService hw = (IWebService)svr.create(); //然后调用create()方法创建动态代理 System.out.println(hw.sayHi("翠花", 18)); }
相关文章推荐
- XHR对象的readyState属性对应的值都有哪些,分别代表什么含义?
- 文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
- [置顶] JS正则表达式中有哪些特殊字符,这些特殊字符又分别表示什么含义?
- Activity和Task的启动模式有哪些? 每种含义是什么?
- ASP.net的身份验证方式有哪些?分别是什么原理?
- struts2表单验证里field-validator type值一共可以取哪些?都什么含义?
- struts2表单验证里field-validator type值一共可以取哪些?都什么含义?
- 简述什么是ajax?ajax工作原理?ajax包含的技术?ajax有哪些优点缺陷?
- iOS获取设备唯一标识的各种方法?IDFA、IDFV、UDID分别是什么含义?
- MySQL都有哪些日志?分别都代表什么?
- android四大组件(应用程序的组成)是什么,功能分别是那些
- ASP.net的身份验证方式有哪些?分别是什么原理?
- ios开发——日常之 获取设备唯一标识的各种方法?IDFA、IDFV、UDID分别是什么含义?
- Introspector内省和反射的区别. 什么是Bean,对应的jdk概念有哪些,
- 事务是什么?有哪些属性,并简要说明这些属性的含义。
- jsp 有哪些动作?作用分别是什么?
- jsp 有哪些动作 ? 作用分别是什么 ?
- sap 个模块 含义 FI/CO/MM/PP/QM/WM 及其它 分别指什么模块?是干什么用的?
- HTTP协议中的1xx,2xx,3xx,4xx,5xx状态码分别表示什么,列举常见错误码及含义
- MySQL存储引擎通常有哪3种?各自分别有什么特点?应用场景是哪些?