web services

                                                                          web services

Web Services 结构

     客户根据 WSDL 描述文档,会生成一个 SOAP 请求消息。Web Services 都是放在Web服务器(如IIS)后面,客户生成的SOAP请求会被嵌入在一个HTTP POST请求中,发送到 Web 服务器来。Web 服务器再把这些请求转发给 Web Services 请求处理器。请求处理器的作用在于,解析收到的 SOAP 请求,调用 Web Services,

  然后再生成相应的 SOAP 应答。Web 服务器得到 SOAP 应答后,会再通过 HTTP应答的方式把信息送回到客户端.

Web Services 体系

     Web Services 体系主要包括以下几个方面:

 

各类程序语言通过标准互联网统一服务

① Web Services 组件。包括 3 种组件:

  服务提供者:提供服务,进行注册以使服务可用;

  服务代理:服务交换所,服务提供者和服务请求者之间的媒体;

  服务请求者:向服务代理请求服务,调用这些服务创建应用程序

  ② Web Services 操作。包括 3 种操作:

  发布/不发布(Publish/Unpublish):提供者向代理发布(注册)服务或不发布(移

  去)这些服务的注册;

  发现(Find):由服务请求者向服务代理执行 find 操作,服务请求者描述要找的

  服务,服务代理分发匹配的结果;

  绑定(Bind):在服务请求者和服务提供者之间绑定,这两部分协商以使请求者

  可以访问和调用提供者的服务。

  ③ UDDI——通用发现、描述和整合。

 

三大核心技术标准

这是一个Web Services的信息注册规范,基于UDDI的Web Services注册可以被发现 UDDI 的发现方法是:在 Web 上有一种分布的注册服务,商务和服务以一种通用的 XML 格式描述,XML 中的结构化数据易于发现、分析和操作。

  ④ WSDL——Web 服务描述语言。

  Web 服务描述言语(WSDL)是一种 XML 语法,为服务提供者提供了描述构建在不同协议或编码方式之上的 Web Services 请求基本格式的方法。WSDL 用来描述一个 Web Services 能做什么,它的位置在哪里,如何调用它等。在假定以SOAP/HTTP/MIME 作为远程对象调用机制的情况下,WSDL 会发挥最大作用。UDDI 注册描述了 Web Services 绝大多数方面,包括服务的绑定细节。WSDL 可以看作是 UDDI 服务描述的子集。

  WSDL 将服务定义为一个网络端点的集合,或者说端口的集合。在 WSDL 里面,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的。这样就可以重用这些抽象定义:消息,需要交换的数据的抽象描述;端口类型,操作的抽象集合。针对一个特定端口类型的具体协议和数据格式规范构成一个可重用的绑定。一个端口定义成网络地址和可重用的绑定的连接,端口的集合定义为服务。因此一个 WSDL 文档在定义网络服务的时候使用如下的元素:

  类型——使用某种的类型系统(如 XSD)定义数据类型的容器;

  消息——通讯数据抽象的有类型的定义;

  操作——服务支持动作的抽象描述;

  端口类型——一个操作的抽象集合,该操作由一个或多个端点支持;

  绑定——针对一个特定端口类型的具体协议规范和数据格式规范;

  端口——一个单一的端点,定义成一个绑定和一个网络地址的链接;

  服务——相关端点的集合。

  所以不难看出,WSDL 给客户提供了一个模板,方便客户描述和绑定服务

Web services 工作原理
      础的 Web Services 平台是 XML + HTTP。
  HTTP 协议是最常用的因特网协议。
  XML 提供了一种可用于不同的平台和编程语言之间的语言。
  Web services 平台的元素:
  SOAP (简易对象访问协议)
  UDDI (通用描述、发现及整合)
  WSDL(Web services 描述语言)
  1.整体结构
  
  2.一个Web Service客户端,顾名思义是和一个Web Service服务器进行交互。
  下面是一个Web Service客户端调用Web Service的基本过程。
  --> 构造SOAP请求消息(将本地数据对象转换为SOAP消息)
  --> 发送SOAP消息到Web Service服务器的指定端口
  --> 接收SOAP响应消息
  --> 将SOAP响应消息转换为本地数据对象
  3.webService与SOA的关系
  webService是SOA的一个具体实现
  SOA是思想
  就像面向对象 和J2ee的关系
  4.SOAP基于HTTP的,在http协议下传输xml文件
  5.UDDI:发现和整合服务,很少用
  6.开发方法:只要获得wsdl方式即可
  7.webService效率较慢
  传输的是文本
  EJB和CORBA传输的是二进制,效率较好
  8.拦截soap请求和响应信息
  Java代码
  JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean(); factory.setServiceClass(HelloImpl.class); factory.setAddress("http://localhost:8080/helloword"); factory.getInInterceptors().add(new LoggingInInterceptor()); factory.getOutInterceptors().add(new LoggingOutInterceptor()); Server server = factory.create(); server.start();
  JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();                                factory.setServiceClass(HelloImpl.class);                factory.setAddress("http://localhost:8080/helloword");                factory.getInInterceptors().add(new LoggingInInterceptor());                factory.getOutInterceptors().add(new LoggingOutInterceptor());                                                Server server = factory.create();                server.start(); 添加拦截器
  factory.getInInterceptors().add(new LoggingInInterceptor());
  factory.getOutInterceptors().add(new LoggingOutInterceptor());
  soap消息结构:
  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值