首页 php教程 php手册 php学习之道:WSDL详解(二)

php学习之道:WSDL详解(二)

Jun 06, 2016 pm 07:46 PM
php 学习 定义 实际的 详解 逻辑

3.定义服务使用的逻辑消息 当服务的操作被调用时,服务被定义为消息交换。在wsdl文档中,这些消息被定义message元素。这些消息由称之为part元素的部分组成。 一个服务的操作,通过指定逻辑消息的方式来定义。当操作被调用时,逻辑消息被交换。(也就是说,逻

3.定义服务使用的逻辑消息

当服务的操作被调用时,服务被定义为消息交换。在wsdl文档中,这些消息被定义message元素。这些消息由称之为part元素的部分组成。

一个服务的操作,通过指定逻辑消息的方式来定义。当操作被调用时,逻辑消息被交换。(也就是说,逻辑消息代表了服务的操作)这些逻辑消息,将在网络上传输的数据定义为xml文档。他包含了所有的参数,这些参数是方法调用的一部分。(也就是说,逻辑消息里的参数,是操作对应方法的参数集合)

消息和参数列表:每一个被服务暴露的操作能且仅能有一个输入消息和一个输出消息。输入消息定义当操作被调用时,服务接受的所有消息。输出消息定义的是,当操作完成时服务返回的所有消息。fault消息定义的是服务返回错误时的数据。

另外,每个操作可以有一定数量的fault消息。这个fault消息定义了当服务发生错误时返回的数据。这些消息通常有一个部分,该部分提供足够的信息来让消费者知道错误是什么。

消息设计用于集成固有系统:如果你将已经存在的应用程序定义为一个服务,你必须确保方法(实现操作的方法)中使用到的每个参数都能够在消息中找到对应。你必须确保返回值也在操作的输出消息中。

定义你的消息的一个方法是:RPC风格。当使用RPC风格时,你使用给每个在参数列表中的参数定义一个part。每个消息part是基于在types中顶一个的type。

你的输入消息为每个输入参数对应一个part,同样输出消息为每个输出参数对应一个part。另外增加个part来对应返回值。如果一个参数既是输入,又是输出,那么它即作为输入又作为输出消息列出来。

RPC风格的消息定义是当服务使能存量系统时有用。它使用类似于TIBCO或者CORBA的模式传输。这些系统围绕着过程和方法来设计。正是由于这样,他们是最容易使用消息来建模。RPC风格也是服务和应用程序之间的映射清晰化。

为SOAP服务设计消息:当RPC风格用于建模存量系统,但是服务协会强烈地喜欢包装文档风格。在包装文档风格中,每个消息有一个part。这个消息的part参考了一个包装元素,该元素定义在types元素中。包装元素有如下特性:

  • 他是一个包含一系列元素的复合类型
  • 如果是一个输入消息的包装器,则:它的每个元素对应一个输入参数;他的名字,他的名字与相关的操作名相同。
  • 如果是一个输出消息的包装器,则:它的每个元素对应输入参数,也对应输出参数。它的第一个元素代表了方法返回值。他的名字将通过增加Response到与之想关联的包装器的操作的名字上。

消息命名:每个消息都在其命名空间中有唯一名字,建议使用下面的命名规则:

  • 消息应该被单一操作使用
  • 输入消息名是在操作名后增加Request
  • 输出消息名是在操作名后增加Response
  • 错误消息名是在错误原因后加fault

消息部件:消息部件是逻辑消息最常用的单元。每个part被定义,用part元素。并且通过name属性,用type属性或element属性来指定数据类型。

消息允许重用part名。对于一个实例来说,如果一个方法有一个参数:foo,他被应用或者通过in/out传递,他能够作为一个Part存在于请求或者应答消息中。如下例:


 


 

例子:假设你有一个服务器存储了个人信息并且提供一个方法,该方法换回雇员的数据,基于雇员ID.。该方法如下:

personalInfo lookup(long empId)

被映射到RPC风格的WSDL如下


 


映射到包装风格如下:


 
  ...
 
   
     
       
     

   

 

 
   
     
       
     

   

 

 



 


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

CakePHP 项目配置 CakePHP 项目配置 Sep 10, 2024 pm 05:25 PM

在本章中,我们将了解CakePHP中的环境变量、常规配置、数据库配置和电子邮件配置。

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 日期和时间 CakePHP 日期和时间 Sep 10, 2024 pm 05:27 PM

为了在 cakephp4 中处理日期和时间,我们将使用可用的 FrozenTime 类。

CakePHP 文件上传 CakePHP 文件上传 Sep 10, 2024 pm 05:27 PM

为了进行文件上传,我们将使用表单助手。这是文件上传的示例。

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

在本章中,我们将学习以下与路由相关的主题?

讨论 CakePHP 讨论 CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

CakePHP 创建验证器 CakePHP 创建验证器 Sep 10, 2024 pm 05:26 PM

可以通过在控制器中添加以下两行来创建验证器。

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

See all articles