做外贸网站需要请外贸文员吗,建设电商网站的总结报告,凡科网站建设如何植入代码,全屋家装XML Web服务是一种用于在网络上发布、发现和使用应用程序组件的技术。它基于一系列标准和协议#xff0c;如WSDL、SOAP、RDF和RSS。下面是一些相关的内容#xff1a; WSDL#xff08;Web服务描述语言#xff09;#xff1a;用于描述Web服务的基于XML的语言#xff0c;定义… XML Web服务是一种用于在网络上发布、发现和使用应用程序组件的技术。它基于一系列标准和协议如WSDL、SOAP、RDF和RSS。下面是一些相关的内容 WSDLWeb服务描述语言用于描述Web服务的基于XML的语言定义了服务的接口、操作和消息格式 SOAP简单对象访问协议是一种基于XML的协议用于在网络上交换结构化信息。它定义了消息的格式和传输规则并被广泛用于Web服务之间的通信。 RDF资源描述框架是一种描述网络资源的框架使用XML表示。它提供了一种统一的方式来描述资源的属性和关系是万维网上语义网的基础之一。 RSS真正简单的信息聚合是一种用于发布网站内容的XML格式。它允许用户订阅网站的更新并可以自动获取最新的内容。RSS文件通常用于博客、新闻网站等。
XML Web服务的特点包括 自包含和自描述Web服务能够描述自己的接口和功能使其易于使用和集成到其他应用程序中。 基于开放协议Web服务使用开放的协议和标准如HTTP和SOAP以确保不同平台和系统之间的互操作性。 可重用的组件Web服务提供了可重用的应用程序组件如货币转换、天气预报等可以被其他应用程序调用和集成。 连接现有软件Web服务可以连接现有的软件系统并提供一种统一的方式来交换数据和调用功能。
在实际应用中您可以通过创建和部署Web服务来实现各种功能和服务从简单的数据转换到复杂的业务逻辑。
XML WSDL
WSDL 是 Web Services Description Language 的缩写 WSDL 用于描述 Web 服务 WSDL 以 XML 形式编写 WSDL 文档 WSDL 文档描述了一个 Web 服务。它指定了服务的位置以及服务的方法使用以下主要元素
元素 描述 定义 Web 服务 使用的 (XML Schema) 数据类型 为每个操作定义数据元素 描述可执行操作和所涉及的消息。 为每个端口类型定义协议和数据格式
WSDL 文档的主要结构如下
definitionstypes数据类型定义........
/typesmessage传输的数据定义....
/messageportType一组操作......
/portTypebinding协议和数据格式规范....
/binding/definitionsWSDL 示例
message namegetTermRequestpart nameterm typexs:string/
/messagemessage namegetTermResponsepart namevalue typexs:string/
/messageportType nameglossaryTermsoperation namegetTerminput messagegetTermRequest/output messagegetTermResponse//operation
/portType在此示例中portType 元素将 “glossaryTerms” 定义为端口的名称“getTerm” 定义为操作的名称。
“getTerm” 操作具有名为 “getTermRequest” 的输入消息和名为 “getTermResponse” 的输出消息。
message 元素定义了每个消息的部分和关联的数据类型。
portType 元素 portType 元素定义了一个 Web 服务可以执行的操作以及所涉及的消息。
请求-响应类型是最常见的操作类型但 WSDL 定义了四种类型
类型 定义 One-way 该操作可以接收消息但不会返回响应 Request-response 该操作可以接收请求并将返回响应 Solicit-response 该操作可以发送请求并将等待响应 Notification 该操作可以发送消息但不会等待响应 WSDL 单向操作 单向操作示例
message namenewTermValuespart nameterm typexs:string/part namevalue typexs:string/
/messageportType nameglossaryTermsoperation namesetTerminput namenewTerm messagenewTermValues//operation
/portType 在上面的示例中portType “glossaryTerms” 定义了一个名为 “setTerm” 的单向操作。
“setTerm” 操作允许使用 “newTermValues” 消息输入新术语消息其中包括输入参数 “term” 和 “value”。但是没有为操作定义输出。
WSDL 请求-响应操作 请求-响应操作示例
message namegetTermRequestpart nameterm typexs:string/
/messagemessage namegetTermResponsepart namevalue typexs:string/
/messageportType nameglossaryTermsoperation namegetTerminput messagegetTermRequest/output messagegetTermResponse//operation
/portType在上面的示例中portType “glossaryTerms” 定义了一个请求-响应操作名为 “getTerm”。
“getTerm” 操作需要名为 “getTermRequest” 的输入消息其中包含名为 “term” 的参数并将返回一个名为 “getTermResponse” 的输出消息其中包含名为 “value” 的参数。
WSDL 绑定到 SOAP
WSDL 绑定定义了 Web 服务 的消息格式和协议细节。
请求-响应操作示例
message namegetTermRequestpart nameterm typexs:string/
/messagemessage namegetTermResponsepart namevalue typexs:string/
/messageportType nameglossaryTermsoperation namegetTerminput messagegetTermRequest/output messagegetTermResponse//operation
/portTypebinding typeglossaryTerms nameb1soap:binding styledocumenttransporthttp://schemas.xmlsoap.org/soap/http /operationsoap:operation soapActionhttp://example.com/getTerm/inputsoap:body useliteral//inputoutputsoap:body useliteral//output/operation
/bindingbinding 元素具有两个属性 - name 和 type。
name 属性您可以使用任何名称定义绑定的名称type 属性指向绑定的端口在本例中为 “glossaryTerms” 端口。
soap:binding 元素具有两个属性 - style 和 transport。
style 属性可以是 “rpc” 或 “document”。在这种情况下我们使用 document。transport 属性定义要使用的 SOAP 协议。在这种情况下我们使用 HTTP。
operation 元素定义了 portType 公开的每个操作。
对于每个操作必须定义相应的 SOAP 动作。您还必须指定如何编码输入和输出。在本例中我们使用 “literal”。
XML SOAP
SOAP 是 Simple Object Access Protocol 的缩写 SOAP 是一种应用通信协议 SOAP 是用于发送和接收消息的格式 SOAP 是平台无关的 SOAP 基于 XML 为什么使用 SOAP Web 应用程序 能够在 互联网 上进行通信是非常重要的。
在 应用程序 之间进行通信的最佳方式是通过 HTTP因为 HTTP 受到所有 互联网 浏览器和服务器的支持。SOAP 就是为了实现这一点而创建的。
SOAP 提供了一种在运行在不同操作系统、使用不同技术和编程语言的 应用程序 之间进行通信的方式。
SOAP 构建块 SOAP 消息是一个普通的 XML 文档包含以下元素
一个 Envelope 元素用于标识 XML 文档作为 SOAP 消息 一个包含头信息的 Header 元素 一个包含调用和响应信息的 Body 元素 一个包含错误和状态信息的 Fault 元素 以上所有元素都声明在 SOAP 信封的默认命名空间中
语法规则 以下是一些重要的语法规则
SOAP 消息必须使用 XML 进行编码 SOAP 消息必须使用 SOAP Envelope 命名空间 SOAP 消息不能包含 DTD 引用 SOAP 消息不能包含 XML 处理指令
该命名空间将 Envelope 定义为 SOAP Envelope。
如果使用了不同的命名空间应用程序 将生成错误并丢弃消息。
encodingStyle 属性 encodingStyle 属性用于定义文档中使用的数据类型。该属性可以出现在任何 SOAP 元素上并应用于该元素及其所有子元素。
SOAP 消息没有默认编码。
SOAP Header 元素 可选的 SOAP Header 元素包含关于 SOAP 消息的应用程序特定信息如身份验证、支付等。
如果存在 Header 元素则必须将其放在 Envelope 元素的第一个子元素位置。
注意Header 元素的所有直接子元素必须是命名空间限定的。
SOAP 在默认命名空间中定义了三个属性。这些属性是mustUnderstand、actor 和 encodingStyle。
SOAP Header 中定义的属性定义了接收者应该如何处理 SOAP 消息。
mustUnderstand 属性 SOAP mustUnderstand 属性可用于指示接收者是否必须处理头部条目。
如果将 mustUnderstand1 添加到 Header 元素的子元素中表示处理 Header 的接收者必须识别该元素。如果接收者不识别该元素则在处理 Header 时将失败。
语法 soap:mustUnderstand“0|1”
actor 属性 SOAP 消息可能通过沿着消息路径传递不同的端点从发送方传递到
接收方。然而SOAP 消息的不是所有部分都可能是针对最终端点的而是可能针对消息路径上的一个或多个端点。
SOAP actor 属性用于将 Header 元素定向到特定端点。
语法 soap:actor“URI”
encodingStyle 属性 encodingStyle 属性用于定义文档中使用的数据类型。该属性可以出现在任何 SOAP 元素上它将应用于该元素的内容及其所有子元素。
SOAP 消息没有默认编码。
语法 soap:encodingStyle“URI”
SOAP Body 元素 必需的 SOAP Body 元素包含了消息的实际 SOAP 消息用于消息的最终端点。
SOAP Body 元素的直接子元素可以是命名空间限定的。
示例 ?xml version1.0?
soap:Envelope
/m:GetPrice /soap:Body
/soap:Envelope 上面的示例请求了苹果的价格。请注意上面的 m:GetPrice 和 Item 元素是应用程序特定的元素。它们不属于 SOAP 命名空间
SOAP Fault 元素 可选的 SOAP Fault 元素用于指示错误消息。
SOAP Fault 元素包含了 SOAP 消息的错误和状态信息。
如果存在 Fault 元素它必须作为 Body 元素的子元素出现。Fault 元素只能在 SOAP 消息中出现一次。
SOAP Fault 元素具有以下子元素
子元素 描述 faultcode 用于标识错误的代码 faultstring 错误的人类可读的解释 faultactor 导致错误发生的信息 detail 包含与 Body 元素相关的应用程序特定错误信息
SOAP 错误代码 当描述错误时faultcode 元素中必须使用以下定义的 faultcode 值
错误 描述 VersionMismatch 在 SOAP Envelope 元素的命名空间中找到无效的命名空间 MustUnderstand Header 元素的立即子元素mustUnderstand 属性设置为 “1”未被理解 Client 消息格式不正确或包含不正确的信息 Server 服务器出现问题因此消息无法继续进行
HTTP 协议 HTTP 通过 TCP/IP 进行通信。HTTP 客户端使用 TCP 连接到 HTTP 服务器。建立连接后客户端可以向服务器发送 HTTP 请求消息
POST /item HTTP/1.1
Host: 189.123.255.239
Content-Type: text/plain
Content-Length: 200然后服务器处理请求并将 HTTP 响应发送回客户端。响应包含指示请求状态的状态代码
200 OK
Content-Type: text/plain
Content-Length: 200在上面的示例中服务器返回了状态代码 200。这是 HTTP 的标准成功代码。
如果服务器无法解码请求则可能返回以下内容
400 Bad Request
Content-Length: 0SOAP 绑定
SOAP 规范定义了 SOAP 消息的结构但未定义它们如何交换。这一空白由所谓的 “SOAP 绑定” 填补。SOAP 绑定是允许使用传输协议有效地交换 SOAP 消息的机制。
大多数 SOAP 实现提供了常见传输协议的绑定例如 HTTP 或 SMTP。
HTTP 是同步的并且被广泛使用。SOAP HTTP 请求至少指定了两个 HTTP 头部Content-Type 和 Content-Length。
SMTP 是异步的通常在最后一种情况或特殊情况下使用。
Java 的 SOAP 实现通常为 JMSJava 消息系统协议提供了特定的绑定。
Content-Type
SOAP 请求和响应的 Content-Type 头部定义了消息的 MIME 类型以及用于请求或响应的 XML 主体的字符编码可选。
Content-Type: MIMEType; charsetcharacter-encoding示例
POST /item HTTP/1.1
Content-Type: application/soapxml; charsetutf-8Content-Length
SOAP 请求和响应的 Content-Length 头部指定了请求或响应的主体中的字节数。
Content-Length: bytes示例
POST /item HTTP/1.1
Content-Type: application/soapxml; charsetutf-8
Content-Length: 250最后
为了方便其他设备和平台的小伙伴观看往期文章
微信公众号搜索Let us Coding关注后即可获取最新文章推送
看完如果觉得有帮助欢迎点赞、收藏、关注