WSDL中<binding>和<portType>之间有什么区别?

cla*_*amp 46 xml wsdl web-services jax-ws

双方<binding><portType>似乎定义操作和它的消息.我不太明白,为什么它们都是必要的?

Pre*_*raj 28

portType (类似于Java接口)

  • PortType是WSDL的抽象部分.
  • 由一个或多个端点支持的一组抽象操作.

捆绑

  • 绑定是WSDL的一个具体部分.
  • 描述如何通过为操作和消息指定具体的协议和数据格式规范来调用操作.
  • 绑定有三种类型

    1. SOAP绑定:
      SOAP绑定允许使用documentrpc风格有两种encodingliteral.编码指示数据值应如何以XML格式编码(这些规则指定如何将"某事物"编码/序列化为XML,然后再将其从XML解码/反序列化为"某事").Literal意味着数据是根据模式序列化的(这只是普通的XML数据).运输类型http,jms,smtp ......

    2. HTTP GET和POST绑定:
      WSDL包含HTTP 1.1的GET和POST谓词的绑定,以描述Web浏览器和Web站点之间的交互.

    3. MIME绑定: WSDL包含一种将抽象类型绑定到某种MIME格式的具体消息的方法.


在此输入图像描述

在WSDL 2.0中:

  • PortTypes重命名为interfaces
  • 端口重命名为端点
  • 删除了消息构造

资源


有用的链接


LCJ*_*LCJ 25

接口(wsdl:portType)

WSDL portType元素定义了一组操作(有时称为接口).

操作元素包含输入和输出元素的组合.有输出元素时可能有一个fault元素.这些元素的顺序定义了消息交换模式(MEP)(单向,请求 - 响应等)

在此输入图像描述

WSDL:结合

WSDL绑定元素描述了使用具有给定协议的特定portType的具体细节.

在此输入图像描述

  • 您也可能引用了您的来源:https://msdn.microsoft.com/en-us/library/ms996486.aspx (2认同)

Cra*_*lus 11

PortType定义Web服务的抽象接口.
从概念上讲,它就像一个Java接口,因为它定义了一个抽象类型和相关的方法.
在WSDL中,端口类型由绑定和服务元素实现,这些元素指示Web服务实现要使用的协议,编码方案等,
即绑定指定具体的实现细节,并且实质上将portType映射到一组协议(HTTP和SOAP) )消息样式(文档/ RPC)和编码(文字)
现在是否清楚了解?

  • 第1行应该是"端口类型定义Web服务的抽象接口"吗? (6认同)

Shi*_*han 5

端口类型
一个单一的Web服务可支持多种不同的协议。数据的结构取决于您用来调用Web服务的协议。因此,您需要一种从操作映射到可以访问它们的端点的方法。该端口类型元素采用这种映射的照顾。

您可以为该Web服务可用的每种协议放置一个portType定义。例如,您可以具有用于使用SOAP,HTTP-POST和HTTP-GET的各个portType定义。操作名称是可从Web服务获得的方法。

绑定
您可以定义最终用户如何绑定到可进行该操作的端口。您可以使用元素来执行此操作。