vac提供的XML文件

让我们来查看一下 WSDL 文档中的每一部分,从 <definitions> 段开始。

<definitions>
<definitions> 元素包括一个或者多个服务的定义。大多数情况下,一个 WSDL 文件定
义一个单独的服务。<definitions> 标记后通常紧跟着以下属性的声明:

name:这个属性是可选的,用来说明服务的主要目的。
targetNamespace:这个属性定义了关于服务信息的逻辑命名空间,并且各服务的属性值
通常是不同的。这个属性在稍后会作更进一步的讨论。
xmlns:tns:在许多的 WSDL 文件中,这个命名空间并不出现(包括我们的示例),但是
很快就会流行起来的。如果出现,则被设置成 targetNamespace 的值。这个属性在稍后
会作更进一步的讨论。
xmlns:soap 和 xmlns:xsd:它们是标准命名空间的定义,在以后的 WSDL 文档中被用作
指定特定的 SOAP 的信息和数据类型。
xmlns:缺省的 WSDL 文档的命名空间,被设置到 http://schemas.xmlsoap.org/wsdl/
。所有的 WSDL 标记,像 <definitions>、<message> 和 <service> 都驻留在这个命
名空间之内。

在 <definitions> 之中,有三个概念性的部分:

<message> 和 <portType>: 服务提供什么操作。
<binding>: 操作怎样被调用。
<service>: 服务位于哪里。

除此之外,服务所使用的任何复杂数据类型必须在一个可选的 <types> 部分里面被定义
,而 <types> 部分必须直接放在 <message> 部分之前。因为我们的示例是简单的而且
只使用原始的参数类型,因而没有 <types> 部分。

让我们详细的看看每一个部分。

<message> 和 <portType>
一个 <message> 对应在调用者和服务之间传递的一条信息。一个规则的有往返的远程方
法调用有两条消息,一条负责请求,一条负责响应。每一个 <message> 可以没有任何部
分,或者有多个部分,每个部分都有一个名字和可选的类型。当 WSDL 描述一个对象时
,每一个部分映射到一个方法调用的参数上。如果一个方法返回为 void,那么响应就是
一条空信息。
一个 <portType> 对应一套单个或多个操作,而一个 <operation> 定义了一个特定的输
入/输出消息序列。每一个输入/输出的消息属性必须对应前面定义过的 <message> 的
名称。如果一个操作只指定了输入,则只是单向操作。输出后面紧跟着输入则是请求-响
应 (solicit-response) 操作,单一的输入是一个通告。当 WSDL 描述一个对象时,每
一个 <operation> 映射一个方法并且每一个 <portType> 映射一个 Java 接口或类。
在这个示例中,getRate 操作接受了一个 getRateRequest 消息作为它的输入,并返回
一个 getRateResponse 消息作为它的输出。

<binding>
<binding> 对应于用特定的协议 -- 如 SOAP 或者 CORBA -- 来实现的 <portType> 。
绑定的类型属性必须对应定义过的 <portType> 的名称。因为 WSDL 是中性的协议,所
以您可以指定 SOAP、CORBA、DCOM 和其它的标准协议的绑定。如果一个服务支持不止一
个协议,WSDL 应该对每一个它支持的协议都包含一个 <binding>。
在示例中,<binding> 部分表明使用标准的 SOAP 编码进行的 RPC 到 HTTP 的通信。也
请注意 soapAction (在最后的部分描述)在这个示例中的设置是设置成空串,并且服
务的 URI 被设置成 "urn:xmethods-CurrencyExchange"。

<service>
一个<service> 是一个端口集,而 <port> 代表了在特定端点进行特定绑定的可用性。
端口的绑定属性必须对应于前面定义过的 <binding> 的名称。
在示例中,通过 Xmethods 网站的 CurrentExchangeBinding 绑定可访问 <service>。

<documentation>
任何 WSDL 元素可以声明一个可选的 <documentation> 元素,其中包含人们可读的关于
那个元素的信息。在示例中,唯一有文档描述的元素是 <service>。对于其他的元素,
例如独立操作,有文档描述也是很普通的。

 

 

wsdl.xml

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值