教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

WebService CXF学习(4)

来源:网络收集 时间:2026-09-28
导读: SOAP Header 元素 可选的 SOAP Header 元素可包含有关 SOAP 消息的应用程序专用信息(比如认证、支付等)。如果 Header 元素被提供,则它必须是 Envelope 元素的第一个子元素。 注释:所有 Header 元素的直接子元素

SOAP Header 元素

可选的 SOAP Header 元素可包含有关 SOAP 消息的应用程序专用信息(比如认证、支付等)。如果 Header 元素被提供,则它必须是 Envelope 元素的第一个子元素。 注释:所有 Header 元素的直接子元素必须是合格的命名空间。 Java代码

1.

3. xmlns:soap=\

4. soap:encodingStyle=\5.

6. 7.

8. xmlns:m=\9. soap:mustUnderstand=\234 10. 11. 12. ... 13. ... 14.

15.

上面的例子包含了一个带有一个 \元素的头部,它的值是 234,此元素的 \属性的值是 \。

SOAP 在默认的命名空间中 (\定义了三个属性。这三个属性是:actor、 mustUnderstand 以及 encodingStyle。这些被定义在 SOAP 头部的属性可定义容器如何对 SOAP 消息进行处理。

actor 属性

通过沿着消息路径经过不同的端点,SOAP 消息可从某个发送者传播到某个接收者。并非 SOAP 消息的所有部分均打算传送到 SOAP 消息的最终端点,不过,另一个方面,也许打算传送给消息路径上的一个或多个端点。

SOAP 的 actor 属性可被用于将 Header 元素寻址到一个特定的端点。 语法 Java代码

1. soap:actor=\ 实例 Java代码

1.

3. xmlns:soap=\

4. soap:encodingStyle=\5.

6. 7.

8. xmlns:m=\9. soap:actor=\10. 234

11. 12. 13. 14. ... 15. ... 16.

17.

mustUnderstand 属性

SOAP 的 mustUnderstand 属性可用于标识标题项对于要对其进行处理的接收者来说是强制的还是可选的。

假如您向 Header 元素的某个子元素添加了 \,则它可指示处理此头部的接收者必须认可此元素。假如此接收者无法认可此元素,则在处理此头部时必须失效。 语法 Java代码

1. soap:mustUnderstand=\ 实例 Java代码

1.

3. xmlns:soap=\

4. soap:encodingStyle=\5.

6. 7.

8. xmlns:m=\9. soap:mustUnderstand=\10. 234

11. 12.

13. 14. ... 15. ... 16.

17.

encodingStyle 属性

SOAP 的 encodingStyle 属性在上一节中已解释过了。

SOAP Body 元素

必需的 SOAP Body 元素可包含打算传送到消息最终端点的实际 SOAP 消息。 SOAP Body 元素的直接子元素可以是合格的命名空间。SOAP 在默认的命名空间中

(\定义了 Body 元素内部的一个元素。即 SOAP 的 Fault 元素,用于指示错误消息。 Java代码

1.

3. xmlns:soap=\

4. soap:encodingStyle=\5.

6.

7. Apples 9. 10. 11.

12.

上面的例子请求苹果的价格。请注意,上面的 m:GetPrice 和 Item 元素是应用程序专用的元素。它们并不是 SOAP 标准的一部分。 而一个 SOAP 响应应该类似这样: Java代码

1.

3. xmlns:soap=\

4. soap:encodingStyle=\5.

6.

7. 1.90 9.

10. 11.

12.

SOAP Fault 元素

来自 SOAP 消息的错误消息被携带于 Fault 元素内部。

如果已提供了 Fault 元素,则它必须是 Body 元素的子元素。在一条 SOAP 消息中,Fault 元素只能出现一次。

SOAP 的 Fault 元素用于下列子元素: 子元素 描述

供识别故障的代码

SOAP Fault Codes

在下面定义的 faultcode 值必须用于描述故障时的 faultcode 元素中: 错误

描述

可供人阅读的有关故障的说明 有关是谁引发故障的信息

存留涉及 Body 元素的应用程序专用错误信息

VersionMismatch SOAP Envelope 元素的无效命名空间被发现

Header 元素的一个直接子元素(带有设置为 \的 mustUnderstand 属性)无法被理MustUnderstand

解。 Client Server

HTTP 协议

HTTP 在 TCP/IP 之上进行通信。HTTP 客户机使用 TCP 连接到 HTTP 服务器。在建立连接之后,客户机可向服务器发送 HTTP 请求消息: Java代码

消息被不正确地构成,或包含了不正确的信息。 服务器有问题,因此无法处理进行下去。

1. POST /item HTTP/1.1 2. Host: 189.123.345.239 3. Content-Type: text/plain 4. Content-Length: 200

随后服务器会处理此请求,然后向客户机发送一个 HTTP 响应。此响应包含了可指示请求状态的状态代码:

Java代码

1. 200 OK

2. Content-Type: text/plain 3. Content-Length: 200

在上面的例子中,服务器返回了一个 200 的状态代码。这是 HTTP 的标准成功代码。 假如服务器无法对请求进行解码,它可能会返回类似这样的信息: Java代码

1. 400 Bad Request 2. Content-Length: 0

SOAP HTTP Binding

SOAP 方法指的是遵守 SOAP 编码规则的 HTTP 请求/响应。 HTTP + XML = SOAP

SOAP 请求可能是 HTTP POST 或 HTTP GET 请求。

HTTP POST 请求规定至少两个 HTTP 头:Content-Type 和 Content-Length。 Content-Type

SOAP 的请求和响应的 Content-Type 头可定义消息的 MIME 类型,以及用于请求或响应的 XML 主体的字符编码(可选) 语法 Java代码

1. Content-Type: MIMEType; charset=character-encoding 例子 Java代码

1. POST /item HTTP/1.1

2. Content-Type: application/soap+xml; charset=utf-8

Content-Length

SOAP 的请求和响应的 Content-Length 头规定请求或响应主体的字节数。 语法 Java代码

1. Content-Length: bytes

…… 此处隐藏:1198字,全部文档内容请下载后查看。喜欢就下载吧 ……
WebService CXF学习(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/446324.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)