Chinaunix首页 | 论坛 | 博客
  • 博客访问: 464202
  • 博文数量: 1496
  • 博客积分: 79800
  • 博客等级: 大将
  • 技术积分: 9940
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 13:22
文章分类

全部博文(1496)

文章存档

2011年(1)

2008年(1495)

我的朋友

分类:

2008-09-09 13:30:21


  1.  WSDL
  
  a)    原理:从XML-RPC和SOAP的使用我们可以看到,请求消息都是根据服务提供方的服务接口来生成一个HTTP请求,在请求当中封装所要调用的方法,以及方法调用时的参数。
  
  客户端服务调用代码要完成的任务,也就是使用实现所提供的接口,来声明调用方所需要的方法名及参数,然后由实现根据用户的输入来组合HTTP请求。
  
  这个过程可以这样来描述,首先获取用户输入,然后把输入变成实现所要求的格式,然后再把该格式变成HTTP请求。一般情况下,我们需要手工完成到第二步,但是,这个过程显然是可以把他自动化的,自动化的效果就是用户不再需要书写这部分的代码,减少工作量和降低出错几率。
  
  自动化的过程就需要WSDL的参与,他提供了服务方服务的描述,调用方根据这个描述,就可以知道服务所需要的参数个数,然后向用户索取。得到输入以后,实现可以根据WSDL的要求来把输入转换成特定的格式,或者直接生成最后的HTTP请求。
  
  对于每个服务,WSDL需要描述两部分的内容,一是接口,二是实现。接口描述了服务的格式,例如服务名,服务参数,服务结果。服务实现则描述了,用户所对应提供的输入如何转换成符合某一实现的形式,一般情况下,我们使用SOAP作为实现,那么客户端在分析了WSDL文件以后,将会把用户的输入转换成我们已经看到过的SOAP请求,之后的过程就与之前的完全一样。
  
  2.  WSDL实例
  
  a)    导言部分:指定了下文将要使用的数据类型和消息类型。
  
  
  
    
  targetNamespace="urn:HelloWorld" xmlns:tns="urn:HelloWorld"
  
  xmlns:soap=
  
  xmlns:wsdl="">
  
  
  
  
  
  

  
  
  
  
  
  

  
  b)    服务接口:描述了方法名,和输入输出参数。
  
  
  
  
  
  
  
  
  
  

  
  

  
  c)    服务实现:描述了某一个服务接口如何转换为SOAP请求。
  
  
  
  
  
  
  
  
  
  
  
    
  encodingStyle=>
  
  

  
  
  
    
  encodingStyle=>
  
  

  
  

  
  

  
  d)    服务位置:指定了SOAP请求所要发送的目的地。
  
  
  
  
  
  
  
  

  
  

  
  
【责编:admin】

--------------------next---------------------

阅读(136) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~