XSD和WSDL之间的区别是什么?

XML SchemaWSDL的区别是什么?

我注意到的区别是WSDL包含XSD,在WSDL中我们可以声明操作,但在XSD中不能。对吗?

258698 次浏览

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

XSD定义了一个模式,它定义了XML文档的结构。您可以使用它来检查给定的XML文档是否有效,是否符合您在模式中设置的规则。

WSDL是描述web服务的XML文档。它显示了哪些操作是可用的,以及应该如何结构化数据以发送给这些操作。

WSDL文档有一个相关联的XSD,它显示在WSDL文档中放入什么是有效的。

XSD (XML模式定义)定义XML文档中的元素。它可用于验证xml文档中的元素是否符合将放置内容的描述。 而wsdl是描述web服务的特定类型的XML文档。

. WSDL本身遵循XSD

WSDL (Web服务描述语言)描述了你的服务和它的操作——被调用的服务是什么,它提供了哪些方法,这些方法有什么样的参数和返回值?

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

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

它是数据类型的描述,因此是服务的静态属性——它是关于数据的。

WSDL -它包含web服务提供的操作,如方法。这些方法可以接受简单的数据类型,如int、float等,也可以接受复杂的数据类型,如对象、向量、数组等,因此可以使用XSD将其映射到XML数据类型。基于XSD,用户可以从不同的平台访问web服务,并提供相应的数据。

参考:ayazroomy-java.blogspot.com来阅读关于webservice的基础知识。

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适合的位置。

< p >***************======== 下面是部分XML的形象 ==========*************** XML image partial

***************======== 下面是部分XSD的形象 ==========***************

XSD image partial

***************======== 下面是部分WSDL的形象 =======*************

WSDL image partial

我必须为一个名为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服务从服务获取数据,并将返回的数据转换为他们合适的需求,然后在他们的网站上显示或发布关于产品的数据或信息。一个简单的例子是FLIGHT Ticket预订。航空公司将允许第三方在其网站上使用航班数据进行机票销售。但还有更多的事情要做,它只是不让第三方机票代理出售机票,会有同步和安全到位。如果没有同步,那么有100%的可能有超过1个客户从不同渠道购买同一机票。

我希望专家们能给出答案。对于新手或新手来说,理解XML、XSD然后在Web服务上工作是非常困难的。

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

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

XSD类似于mysql中的DESCRIBE命令。它告诉所有的变量和它们的类型,一个请求和响应包含什么。

XSD是WSDL文件的模式。XSD包含WSDL的数据类型。在XSD中声明的元素可以在WSDL文件中使用。 我们可以对照XSD检查WSDL以检查web服务WSDL是否有效