第1章 Web服务概述 1
1.1 Web服务构建块 3
1.2 Web服务设汁决策 4
1.2.1 选择传输协议 4
1.2.2 选择编码模式 5
1.2.3 选择格式设置约定 5
1.2.4 选择描述机制 6
1.2.5 选择发现机制 7
1.3 Web服务中的欠缺 7
1.4 本章小结 8
第2章 创建基本的Web服务 9
2.1 简单的商务应用程序 9
2.1.1 创建一个Web窗体 9
2.1.2 创建Payment Web服务 12
2.1.3 更新Order Web窗体 14
2.2 Web文件共享应用程序 16
2.2.1 创建Web File Share Web服务 16
2.2.2 创建Web File Util程序 18
2.3 本章小结 22
第3章 SOAP 23
3.1 SOAP消息剖析 24
3.1.1 SOAP角色 25
3.1.2 Header元素 25
3.1.3 Body元素 28
3.2 使用SOAP RPC消息 30
3.3 SOAP Encoding 32
3.3.1 简单类型 33
3.3.2 复合类型 33
3.3.3 通过引用传递参数 40
3.4 协议绑定 45
3.5 本章小结 47
第4章 XML Schema 49
4.1 描述XML文档 50
4.2 内置数据类型 51
4.2.1 整数 52
4.2.2 字符串 52
4.2.3 二进制数据 54
4.3 命名空间 55
4.3.1 target Namespace属性 56
4.3.2 xmlns属性 56
4.3.3 schema Location属性 58
4.3.4 no Namespace Schema Location届性 59
4.3.5 XML Schema和XML Schema Instance命名空间 60
4.4 元素定义 60
4.5 自定义数据类型 61
4.5.1 简单类型 61
4.5.2 复杂类型 66
4.5.3 元素和属性组 73
4.5.4 命名空间的范围 73
4.5.5 多态 75
4.5.6 约束继承 79
4.6 本章小结 81
第5章 使用WSDL记录Web服务 83
5.1 WSDL文档语法 84
5.1.1 definitions元素 85
5.1.2 types元素 85
5.1.3 message元素 88
5.1.4 port Type元素 89
5.1.5 binding元素 91
5.1.6 service元素 93
5.1.7 扩展性元素 94
5.1.8 SOAP扩展 94
5.1.9 HTTP GET/POST扩展 98
5.1.10 import元素 104
5.1.11 记录文档 104
5.2 Calculator Web服务的WSDL文档 105
5.3 本章小结 110
第6章 ASP.NET 111
6.1 创建ASP.NET Web服务 111
6.2 传输协议和绑定 117
6.3 Web服务文档 119
6.4 引发错误 122
6.5 SOAP编码样式 125
6.6 接口继承 131
6.7 管理状态 135
6.7.1 会话状态 136
6.7.2 应用程序状态 140
6.8 定义和处理SOAP头 144
6.9 使用SOAP扩展 153
6.9.1 SOAP扩展属性 153
6.9.2 SOAP扩展类 155
6.10 使用WSDL实用程序生成代理代码 167
6.10.1 代理类 169
6.10.2 cookie程序 177
6.11 本章小结 178
第7章 XML序列化 180
7.1 控制XML序列化 181
7.2 定义Purchase Order根数据类型 182
7.3 定义Items数组 188
7.4 创建派生数据类型 192
7.5 创建开放式Purchase Order架构 194
7.6 定义Accept PO Web方法 196
7.7 服务器端验证 196
7.8 实现自定义序列化 197
7.9 本章小结 198
第8章 使用远程处理建立和使用Web服务 199
8.1 远程处理与ASP.NET 199
8.2 Grabber.NET应用程序 200
8.2.1 远程处理的结构 201
8.2.2 创建IIS承载的Web服务 203
8.2.3 创建Win Form承载的Web服务 207
8.2.4 访问Web服务 210
8.2.5 添加SOAP头 216
8.2.6 生成WSDL 219
8.2.7 WSDL扩展元素Suds 220
8.3 本章小结 220
第9章 Web服务的发现机制 222
9.1 UDDI 222
9.1.1 UDDI体系结构 223
9.1.2 UDDI API 224
9.1.3 UDDI SDK 226
9.1.4 UDDI企业服务器 227
9.1.5 注册头方 228
9.1.6 注册供方 242
9.1.7 Visual Studio .NET集成 246
9.2 DISCO 248
9.3 本章小结 251
第10章 建立安全的Web服务 253
10.1 威胁模型简介 253
10.1.1 分析威胁 254
10.1.2 选择可减轻威胁的技术 255
10.2 Web服务安全技术 257
10.2.1 Web服务身份验证 258
10.2.2 web服务授权 262
10.2.3 web服务的保密性和完整性 263
10.3 .NET框架中的安全技术 264
10.4 未来的Web服务安全技术 266
10.5 常见的安全错误 266
10.5.1 错误#1:以不安全的方式存储机密数据 267
10.5.2 错误#2:不正确地连接到SQL Server 268
10.5.3 错误#3:建立不安全的SQL字符串 268
10.6 一个完整的示例 269
10.6.1 不安全的版本 269
10.6.2 安全的解决方案 270
10.7 本章小结 273
第11章 调试Web服务 274
11.1 交互式调试 274
11.1.1 调试基础 274
11.1.2 远程调试 275
11.1.3 Web服务友好的调用堆栈 276
11.2 调试器所需的信息 278
11.2.1 程序集元数据 279
11.2.2 程序数据库 279
11.2.3 跟踪信息 280
11.2.4 调试动态编译的源代码 282
11.3 规范化Web服务 283
11.3.1 跟踪 283
11.3.2 事件日志 292
11.3.3 性能计数器 294
11.4 调试提示与技巧 298
11.5 本章小结 299
第12章 伸缩性和可用性 300
12.1 扩展Web服务的规模 300
12.1.1 升级 301
12.1.2 扩展 301
12.1.3 克服伸缩性瓶颈 305
12.2 维持高可用性 306
12.2.1 高度可用的升级资源 307
12.2.2 高度可用的扩展资源 308
12.2.3 根据高度可用的资源编程 309
12.3 第三方Web服务和可用性 309
12.3.1 把故障转移到备用Web服务 310
12.3.2 创建脱机操作模式 314
12.4 性能优化 315
12.5 本章小结 322
第13章 Web服务的前景 323
13.1 .NET My Services简介 323
13.1.1 .NET My Services安全 326
13.1.2 使用.NET My Services 327
13.1.3 .NET My Services请求示例 329
13.2 通用型XML Web服务体系结构(GXA) 331
13.2.1 WS-Inspection 332
13.2.2 WS-Security和WS-License 334
13.2.3 WS-Routing 340
13.2.4 WS-Referral 342
13.2.5 动态应用程序拓扑 345
13.3 Web服务编排 346
13.4 本章小结 350
附录 XML Schema内置类型 352