WEB开发网
开发学院软件开发Java Java Web 服务: WSDL 1.1 理解与建模 阅读

Java Web 服务: WSDL 1.1 理解与建模

 2012-03-19 14:05:27 来源:WEB开发网   
核心提示: 清单 2. BookServerImpl.wsdl Definition of actual book service implementation. ...

清单 2. BookServerImpl.wsdl  

				

  
    Definition of actual book service implementation.
  
  
  
    
    
      
      
        
      
      
        
      
    
    ...
    
      
      
        
      
      
        
      
      
        
      
    
  
  
    
      
    
  

除了 WSDL 1.1 名称空间的元素(和属性)定义,WSDL 1.1 还定义了扩展元素。这些扩展元素是用在 WSDL 1.1 服务描述的特定位置以便为特定类型的服务提供必要的额外信息。仍然在广泛使用的 WSDL 1.1 扩展元素是那些用于 SOAP 1.1 绑定的元素(见 清单 2, 元素中的元素),它们是由原始的 WSDL 1.1 规范所定义的,而对于 SOAP 1.2 绑定的扩展元素则是在 2006 年发布的规范中定义的。

组件细节

元素将消息所使用的所有 XML 定义封装到一个或多个 元素中。(WSDL 允许这些定义使用其他方法来替代 XML 模式,但是大多数协议都只支持 XML 模式。) 元素可以使用 和/或 将其他外部模式在需要时包含到 WSDL 中(以及引用同一个 WSDL 中包含的其他模式)。

因为一个 可以包含任意数量的模式定义,因此一个 WSDL 文档完全不需要使用多个 元素。在 清单 1 中, 元素位于 BookServerInterface.wsdl 开头部分。

除了 ,一个 WSDL 文档的所有其他顶级组件都使用一个必需的 name 属性进行单独命名。如果您在文档根元素 中使用 targetNamespace 属性(这是您通常应该采用的最佳实践方法),那么这些组件的名称是在该目标名称空间中定义的。这意味着在您定义名称时,您只需要指定名称的简单或 “本地” 部分,但是引用这个组件必须使用加上名称空间前缀或默认名称空间的完整名称。图 1 显示了 WSDL 组件之间的最重要联系,其中实线表示完整名称引用而虚线表示不带名称空间仅用于标识的名称:

图 1. WSDL 组件之间的联系  

元素所表示的消息是 WSDL 服务描述的核心。 元素是客户端与服务提供商之间交换的 XML 数据描述,每一个 都包含 0 到多个(一般是 1 个) 子元素。每一个 part 元素都必须有自己的 name 属性(在 中保持惟一),和一个 element 或一个引用 XML 数据模式定义的 type 属性。清单 1 显示了几个 元素,它们位于 BookServerInterface.wsdl 的 元素之后 。

元素定义了一个服务的抽象接口,即服务发送和接收的消息。 元素包含了许多 子元素。每一个 子元素都必须有一个 name 属性(WS-I BP 规定在 中是惟一的),并且包含一个或多个用于描述操作所使用的消息的子元素。这些子元素有三种,分别代表不同类型的用法:

  • :从客户端发送到服务提供商上作为操作输入的数据
  • :由服务提供商作为操作结果返回给客户端的数据
  • :在处理出现错误时由服务提供商返回给客户端的数据

WSDL 1.1 定义了几种客户端与服务提供商交互模式,分别由不同的 子元素序列表示,但是并非所有模式定义都能够实现。WS-I BP 将模式限制为两种:“请求-响应” 操作,即一个 后面紧跟一个 ;单向操作,即只有一个 。在 “请求-响应” 操作中(目前最常用的), 元素之后可以有任意多个 元素。

每一个 元素都会通过必需的 message 属性引用一个消息描述。这个引用是采用完整名称空间的,所以它通常需要包含一个前缀。您可以在 清单 1 中看到一些例子,如 getBook 操作描述中使用的 元素。(tns 前缀是在根元素 中定义的,其名称空间 URI 与 targetNamespace 属性相同。)

在大多数情况下您可以认为 在逻辑上是与 Java 接口等价的,其中 元素相当于方法,而 元素相当于方法参数, 元素是方法的返回值,而

Tags:Java Web 服务

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接