Web Service学习笔记二

如何调用Web Services
  
  客户端:取得服务端的服务描述文件WSDL,解析该文件的内容,了解服务端的服务信息,以及调用方式。根据需要,生成恰当的SOAP请求消息(指定调用的方法,已经调用的参数),发往服务端。等待服务端返回的SOAP回应消息,解析得到返回值。


  服务端:生成服务描述文件,以供客户端获取。接收客户端发来的SOAP请求消息,解析其中的方法调用和参数格式。根据WSDL和WSML的描述,调用相应的COM对象来完成指定功能,并把返回值放入SOAP回应消息返回给用户。
  
  高层接口
  
  使用高层接口,不需要知道SOAP和XML的任何信息,就可以生成和使用一个WebService。Soap Toolkit 2.0通过提供两个COM对象――SoapClient和SoapServer,来完成这些功能。
  
  在客户端,只需要生成一个SoapClient实例,并用WSDL作为参数来调用其中的mssoapinit方法。SoapClient对象会自动解析 WSDL文件,并在内部生成所有Web Service的方法和参数信息。之后,你就可以像调用IDispatch接口里的方法一样,调用里面所有的方法。在VB或是脚本语言里,你甚至可以直接在SoapClient对象名后面直接加上.方法(参数…)进行调用。
  
  低层接口
  
  要使用低层接口,你必须对SOAP和XML有所了解。你可以对SOAP的处理过程进行控制,特别是要做特殊处理的时候。
  
  在客户端,首先要创建一个HttpConnector对象,负责HTTP连接。设定Connector的一些头部信息,比如EndPoinURL和 SoapAction等。如果网络连接需要使用代理服务器,那也要在这里设定相关的信息。接着创建SoapSerializer对象,用于生成Soap消息。按照WSDL里定义,把所有参数按顺序序列化,得到一个完整的SOAP请求消息。该Soap消息,作为Payload通过HttpConnector 被发送到服务端。最后,生成一个SoapReader对象,负责读取服务端返回的SOAP消息,取得其中的返回值。


关于 Web Service 的一些总结,一些理解


1,什么是 Web Service ?

Web Service 就是一个网络组件(一个可以通过网络访问的程序)。

它有一个或多个端口(Port),这些端口用于接收客户端的请求,并返回响应

请求和响应的 都是一种基于XML的消息。

不过这种消息遵循特定的格式(SOAP )。


2,怎样调用 Web Service?

可能这样说不太准确,应该是“怎样调用Web Service中定义的操作 ”

每个Web Service 都有一个描述文件(WSDL ),

它描述 一个 Web Service 的如下方面:

(1)服务的端口(接收SOAP消息的端口)

(2)服务提供的操作

(3)操作的输入输出格式的定义(通过XMLSchema 定义输入输出格式)

有了Web Service 的描述文件(WSDL ),我们就知道怎样调用这个Web Service 中定义的操作了。

(1)通过服务提供的操作找到你想调用的操作

(2)找到这个操作的输入格式的定义(XMLSchema ),按照这种输入格式构造一个SOAP消息

(3)将这个SOAP消息发送到服务的指定端口

(4)准备接收一个从Web Service服务器返回的 SOAP 响应吧 !


3,Web Service服务器

一个Web Service服务器,本质上和一个Web服务器是相同的。

它主要做下面这些事:


--> 监听网络端口(监听服务端口)

--> 接收客户端请求(接收SOAP请求)

--> 解析客户端请求(解析SOAP消息,将SOAP消息转换为数据对象)

--> 调用业务逻辑 (调用Web Service实现类的特定操作,参数是由SOAP消息

转换而来的数据对象)

--> 生成响应 (将返回值转换为SOAP消息)

--> 返回响应 (返回SOAP响应)



4,Web Service客户端

一个Web Service客户端,顾名思义是和一个Web Service服务器进行交互。

下面是一个Web Service客户端调用Web Service的基本过程。


--> 构造SOAP请求消息(将本地数据对象转换为SOAP消息)

--> 发送SOAP消息到Web Service服务器的指定端口

--> 接收SOAP响应消息

--> 将SOAP响应消息转换为本地数据对象



其实大部分Web Service客户端 都不需要我们来编写,很多Web Service框架

都支持由 Web Service 的描述文件(WSDL)自动生成客户端。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值