繁体   English   中英

XSD 和 WSDL 有什么区别?

[英]What is the difference between XSD and WSDL?

XML SchemaWSDL之间有什么区别?

我注意到的不同之处在于WSDL包含XSD并且在WSDL我们可以声明操作,但不能在XSD声明。 那是正确的吗?

WSDL (Web 服务描述语言)描述您的服务及其操作 - 服务被称为什么,它提供哪些方法,这些方法具有哪些类型的参数和返回值?

它是对服务行为的描述 - 它是功能。

XSD (Xml Schema Definition)描述了由这些服务方法交换的复杂数据类型的静态结构。 它描述了类型、它们的字段、对这些字段的任何限制(如最大长度或正则表达式模式)等等。

它是对数据类型的描述,因此是服务的静态属性 - 它与数据有关。

XSD 定义了一个架构,它定义了 XML 文档的结构。 您可以使用它来检查给定的 XML 文档是否有效并遵循您在架构中制定的规则。

WSDL 是描述 Web 服务的 XML 文档。 它显示了哪些操作可用以及应如何构造数据以发送到这些操作。

WSDL 文档有一个关联的 XSD,用于显示可以放入 WSDL 文档的有效内容。

XSD:XML 架构定义。

XML:可扩展标记语言。

WSDL:Web 服务定义语言。

我不会用技术术语来回答。 我是针对初学者的这个解释。

在使用两种不同技术开发的两个不同应用程序之间进行通信并不容易。 例如,芝加哥的一家公司可能使用 Java 开发 Web 应用程序,而纽约的另一家公司可能使用 C# 开发应用程序,当这两家公司决定共享信息时,XML 就出现了。 它有助于在使用不同技术开发的两个不同应用程序之间存储和传输数据。 注意:不限于编程语言,请研究两个不同应用程序之间的信息传输。

XSD 是模式定义。 我的意思是,它告诉用户在这样的模式中开发他们的 XML。 请看下面的图片,请密切注意“load-on-startup”元素及其整数类型。 在 XSD 图像中,您可以看到它是“启动时加载”的整数值,因此当用户创建他/她的 XML 时,他们将一个 int 值传递给该特定元素。 提醒一下,XSD 是一种模式和样式,而 XML 是一种与另一个应用程序或系统进行通信的形式。 必须以这种方式查看 XSD 并创建 XML,否则它将无法与使用不同技术开发的另一个应用程序或系统进行通信。 芝加哥的一家公司为德克萨斯州的一家公司提供了一个 XSD 模板,用于以给定的 XSD 格式编写或生成他们的 XML。 如果德克萨斯州的公司未能遵守 XSD 中提到的那些规则或模式,那么就不可能期望芝加哥公司提供正确的信息。 在上述故事之后还有很多事情要做,业余爱好者或新手在为我上面所说的某些事情编码时必须了解这些。 如果您真的想知道以后会发生什么,那么最好与实际开发 Web 服务的高级软件工程师坐在一起。 接下来是 WSDL,请按照图片并尝试找出 WSDL 适合的位置。

***************========以下是部分 XML 图像 ============************ ***XML 图像部分

***************========以下是部分 XSD 图像 ==========************ ***

XSD 图像部分

***************========以下是部分 WSDL 图像 ========*************

WSDL 图像部分

我必须为名为 Book 的 Web 服务创建一个示例 WSDL。 请注意,它是一个 XSD,但您必须将其称为 WSDL(Web 服务定义语言),因为它非常特定于 Web 服务。 上面的 WSDL(或换句话说 XSD)是为一个名为 Book.java 的类创建的,它已经创建了一个 SOAP 服务。 SOAP Web 服务如何创建它是一个不同的主题。 必须编写一个 Java 类,并在执行它之前将其创建为 Web 服务,用户必须确保已安装 Axis2 API 并且托管 Web 服务的 Tomcat 已就位。

作为服务商(允许其他人(客户)从他们的系统访问信息或数据的人)实际上让客户(需要使用服务商信息或数据的人)通过 Web 服务完全访问数据,因为没有公司在地球愿意向外界公开他们的数据库。 像我的公司一样,决定通过 Web 服务提供有关产品的一些信息,因此我们必须创建 XSD 模板并将其传递给希望与我们合作的少数客户。 他们必须编写一些代码来充分利用给定的 XSD 并进行 Web 服务调用以从服务商获取数据并将返回的数据转换为合适的需求,然后在他们的网站上显示或发布有关产品的数据或信息。 一个简单的例子是机票预订。 航空公司将允许第三方使用其网站上的航班数据进行机票销售。 但还有很多,只是不让第三方机票代理出售机票,会有同步和安全到位。 如果没有同步,那么 100% 以上的客户可能会从不同来源购买同一张机票。

我希望专家们为我的答案做出贡献。 对于新手或新手来说,理解 XML、XSD 并在 Web 服务上工作真的很困难。

XSD 用于验证文档,并包含有关 XML 的元数据,而 WSDL 用于描述 Web 服务位置和操作。

XSD(XML 模式定义)定义 XML 文档中的元素。 它可用于验证 xml 文档中的元素是否符合要放置内容的描述。 wsdl 是描述 Web 服务的特定类型的 XML 文档。 WSDL 本身遵循 XSD。

WSDL - 它包含诸如 Web 服务提供的方法之类的操作。这些方法可以接受简单数据类型(例如 int、float 等)和复杂数据类型(例如对象、向量、数组等),因此将其映射到 xml 数据类型 xsd 是使用。 并且基于xsd,想要从不同平台访问webservice的用户可以适当地提供数据。

请参阅:ayazroomy-java.blogspot.com 以阅读有关 Web 服务的基础知识。

如果有人正在寻找类比,这个答案可能会有所帮助。

WSDL 就像 mysql 中的“SHOW TABLE STATUS”命令。 它定义了所有应该是 XML 一部分的元素(请求类型、响应类型、命中请求的 URL 格式等)。 根据定义,我的意思是:1)请求或响应的名称 2)什么应该被视为输入,什么应该被视为输出。

XSD 就像 mysql 中的 DESCRIBE 命令。 它说明所有变量及其类型、请求和响应包含的内容。

XSD 是 WSDL 文件的架构。 XSD 包含 WSDL 的数据类型。 在 XSD 中声明的元素在 WSDL 文件中使用是有效的。 我们可以根据 XSD 检查 WSDL 来检查 Web 服务 WSDL 是否有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM