第1章 Web服务概述 1
1.1 Web服务的概念 1
1.2 Web服务的基础结构 2
1.3 Web服务的目录 3
1.4 Web服务的描述 4
1.5 Web服务的消息格式 4
1.6 全局XML Web服务的体系结构 5
1.7 小结 7
第2章 创建和使用Web服务 8
2.1 创建Web服务 8
2.1.1 定义Web服务类 11
2.1.2 定义Web服务的方法 13
2.2 测试Web服务 16
2.3 创建Web服务客户程序 19
2.3.1 创建ASP.NET Web应用程序 19
2.3.2 创建Windows应用程序 26
2.4 小结 27
第3章 XML基础知识 28
3.1 概述 28
3.2 XML文档的结构 31
3.2.1 前言 32
3.2.2 元素和属性 33
3.3 命名空间 35
3.4 示例程序 38
3.5 小结 44
第4章 XML架构 45
4.1 XML架构的结构 49
4.2 元素和属性声明 50
4.2.1 全局元素和属性 51
4.2.2 出现约束 52
4.3 类型定义 54
4.3.1 内建简单类型和方面 55
4.3.2 简单类型定义 57
4.3.3 复杂类型定义 60
4.3.4 匿名类型定义 61
4.3.5 定义派生类型 62
4.3.6 抽象元素和类型 64
4.3.7 控制派生类型的创建和使用 66
4.4 注释 67
4.5 元素的内容模型 69
4.6 属性组 73
4.7 命名空间与名称限定 74
4.8 使用其他架构中的类型 77
4.8.1 使用include直接引入其他架构中定义的类型 77
4.8.2 使用redefine重新定义外部架构中的组件 79
4.8.3 使用import导入其他架构中的类型 81
4.9 小结 82
第5章 HTTP协议 83
5.1 概述 83
5.2 HTTP消息 86
5.2.1 HTTP请求消息 88
5.2.2 HTTP响应消息 89
5.3.1 通用头字段 90
5.3 头字段 90
5.3.2 请求头字段 92
5.3.3 响应头字段 96
5.3.4 实体头字段 97
5.4 请求方法 98
5.4.1 OPTIONS方法 98
5.4.2 GET方法 99
5.4.3 HEAD方法 99
5.4.4 POST方法 100
5.4.5 PUT方法 100
5.4.6 DELETE方法 101
5.4.7 TRACE方法 101
5.5 状态码 101
5.6 示例程序 106
5.7 小结 111
第6章 SOAP协议 112
6.1 概述 112
6.2 SOAP消息 114
6.2.1 Envelope元素 117
6.2.2 Header元素 118
6.2.3 Body元素 120
6.2.4 Fault元素 121
6.3 SOAP消息交换模型 123
6.4 SOAP协议绑定框架 126
6.5 SOAP编码 127
6.5.1 简单类型 127
6.5.2 字符串 128
6.5.3 枚举 129
6.5.4 字节数组 130
6.5.5 多态访问器 130
6.5.6 复合类型 130
6.6 把SOAP用于RPC 141
6.6.1 RPC和SOAP Body元素 141
6.6.2 RPC和SOAP Header元素 142
6.6.3 RPC错误 142
6.6.4 示例 142
6.7 传输层消息交换模式 144
6.7.1 单一请求响应TMEP 145
6.7.2 错误处理 145
6.8 默认的HTTP绑定 146
6.8.1 消息交换操作 148
6.8.2 SOAPAction特性 150
6.9 示例程序 151
6.10 小结 167
第7章 WSDL规范 168
7.1 概述 168
7.2 WSDL文档的结构 176
7.2.1 definitions元素 177
7.2.2 types元素 180
7.2.3 message元素 181
7.2.4 portType元素 182
7.2.5 binding元素 184
7.2.6 service元素 186
7.3 扩充性元素 188
7.4 SOAP绑定 190
7.4.1 soap:binding元素 190
7.4.2 soap:operation元素 190
7.4.3 soap:body元素 191
7.4.4 soap:fault元素 192
7.4.5 soap:header和soap:headerfault元素 193
7.4.6 soap:address元素 193
7.5 HTTP GET和POST绑定 194
7.6 MIME绑定 197
7.7 示例程序 199
7.7.1 C#语言对WSDL的支持 199
7.7.2 创建示例程序 201
7.8 小结 211
第8章 UDDI规范 212
8.1 概述 212
8.2 UDDI数据结构 214
8.2.1 businessEntity数据结构 215
8.2.2 businessService数据结构 217
8.2.3 bindingTemplate数据结构 218
8.2.4 tModel数据结构 220
8.2.5 publisherAssertion数据结构 221
8.3 UDDI API 222
8.3.1 查询API 223
8.3.2 发布API 230
8.3.3 SDK中的错误处理 237
8.4 SOAP的使用细节 238
8.5 小结 240
第9章 DISCO规范 241
9.1 DISCO文档的结构 241
9.2 DISCO客户端工具 242
9.2.1 命令行工具disco.exe 243
9.2.2 直接在浏览器中查看DISCO文档 244
9.2.3 在集成开发环境中发现服务并查看DISCO文档 244
9.3 DISCO重定向 246
9.4 DISCO和动态发现 247
9.5 在代码中处理DISCO文档 248
9.5.1 DiscoveryClientProtocol类 249
9.5.2 DiscoveryDocument类 249
9.6 示例程序 250
9.7 小结 252
第10章 使用ASP.NET创建Web服务 253
10.1 在ASP.NET Web服务中管理状态 253
10.1.1 使用Application对象保存数据 253
10.1.2 使用Session对象保存数据 254
10.1.3 示例程序 254
10.2 在Web服务中访问ASP.NET内建对象 256
10.2.1 访问Server对象 256
10.2.2 访问Request对象 257
10.2.3 访问Response对象 259
10.3 在ASP.NET Web服务中处理异常 261
10.3.1 SoapException异常 261
10.4 小结 265
10.3.2 SoapHeaderException异常 265
第11章 使用SOAP报头 266
11.1 SoapHeader类和SoapUnknownHeader类 266
11.2 SoapHeaderAttribute特性类 267
11.3 创建使用SOAP报头的Web服务 267
11.3.1 定义表示报头条目的类 268
11.3.2 向Web服务类中添加表示报头条目的字段 268
11.3.3 使用SoapHeader特性为方法指定要处理的报头条目 269
11.4 创建使用SOAP报头的客户程序 270
11.5 小结 273
12.1 定制SOAP消息 274
12.1.1 SOAP消息的格式 274
第12章 定制与扩展SOAP消息 274
12.1.2 SoapDocumentMethodAttribute特性 278
12.1.3 SoapRpcMethodAttribute特性 282
12.1.4 使用XML序列化定制SOAP消息 283
12.2 扩展SOAP消息 284
12.2.1 从SoapExtension类派生扩展类 285
12.2.2 从SoapExtensionAttribute类派生特性类 289
12.2.3 应用SOAP扩展 290
12.3 测试SOAP消息定制与扩展 291
12.4 小结 293
第13章 全局XML Web服务体系结构 294
13.1 WS-Inspection规范 295
13.1.1 WS-Inspection文档的结构 296
13.1.2 WSDL绑定 299
13.1.3 UDDI绑定 302
13.1.4 发布WS-Inspection文档 304
13.2 WS-Security规范 305
13.2.1 证书交换 306
13.2.2 消息完整性 307
13.2.3 消息机密性 309
13.3 WS-License规范 311
13.4 WS-Routing规范 314
13.4.1 WS-Routing前向消息路径的处理机制 315
13.4.2 使用反向消息路径 318
13.4.3 WS-Routing报头条目元素 321
13.4.4 WS-Routing错误消息 323
13.5 WS-Referral规范 327
13.5.1 WS-Referral语句 328
13.5.2 插入和删除SOAP路由器 330
13.5.3 WS-Referral查询消息的交换 332
13.5.4 WS-Referral注册消息的交换 333
13.5.5 WS-Referral报头 335
13.6 小结 336
第14章 完整的示例程序——图书管理Web服务 337
14.1 数据库设计 337
14.2 创建Web服务 342
14.2.1 向Web服务中添加数据模块 343
14.2.2 向BookManager中添加自定义SOAP报头条目 344
14.2.3 向Web服务中添加SOAP扩展支持 345
14.2.4 定义Web服务的方法 348
14.3 创建Windows客户程序 353
14.4 小结 357