第1章 Web服务简介 1
1.1 为什么需要Web服务 1
1.2 现有技术存在的问题 4
1.2.1 数据格式 4
1.2.2 数据传输 4
1.3 需要什么技术 6
1.4 SOAP综合解决方案 6
1.4.1 SOAP是什么 6
1.4.2 SOAP和Web服务之间的关系 7
1.4.3 WSD是什么 10
1.4.4 DISCO是什么 10
1.4.5 UDDI是什么 10
1.5 Microsoft的SOAP和Web服务的实现方法 11
1.5.1 Visual Studio的SOAP工具包 11
1.5.2 .NET Remoting 12
1.6.2 简化测试 13
1.6.1 简化创建 13
1.5.3 ASP.NET Web服务 13
1.6 ASP.NET Web服务的优势 13
1.6.3 简化部署 14
1.7 ASP.NET Web服务与 BizTalk有何不同 14
1.8 使用 ASP.NET实现 ASP.NET Web服务 16
1.9 Web服务在构架中的合适位置 16
1.10 选择一种语言 19
1.11 选择一种代码编辑器 19
1.12 小结 19
2.2 设置环境 21
第2章 使用.NET SDK创建一个简单的Web服务 21
2.1 Web服务能做什么 21
2.2.1 在IIS 5.0中创建一个 Web文件夹 22
2.2.2 编码Web服务 23
2.3 测试Web服务 24
2.4 创建WSDL文件 28
2.4.1 创建WSDL文件的方法 28
2.4.2 检查生成的WSDL文件 29
2.4.3 WSDL描述Web服务的什么内容 29
2.5 小结 30
第3章 使用.NET SDK应用一个简单的Web服务 31
3.1 如何应用Web服务 31
3.1.1 在IIS中创建一个单独的Web文件夹 32
3.1.2 使用wsdl.exe创建代理 33
3.1.3 查看生成的代理类 33
3.1.4 编译代理 36
3.2 创建Web服务应用 37
3.3 测试Web服务应用 39
3.4 小结 40
第4章 在Visual Studio.NET中创建一个简单的Web服务 41
4.1 创建一个新的Visual Studio.NET Web服务项目 41
4.2 回顾Visual Studio.NET的优势 46
4.3 小结 47
第5章 在Visual Studio.NET中使用Web服务 48
5.1 创建一个Web菌体应用程序 48
5.2 回顾Visual Studio.NET的优势 57
5.3 小结 57
6.1 传统的ASP如何工作 58
第6章 怎样使用ASP.NET 58
6.2 ASP存在的问题 59
6.2.1 性能 59
6.2.2 可维护性 60
6.2.3 状态管理 60
6.2.4 使用COM组件 60
6.3 Microsoft .NET Framework 60
6.3.1 Microft.NET Framework体系结构 60
6.3.2 公共语言运行时 61
6.3.3 服务框架 62
6.3.4 ASP.NET和Windows窗体应用程序服务 63
6.4 ASP.NET应用程序模型 63
6.5 如何使用Web服务 63
6.6 即时编译 65
6.7 小结 65
第7章 考察SOAP 67
7.1 SOAP规范概述 67
7.2 什么是SOAP 68
7.2.1 SOAP和XML 69
7.2.2 SOAP与其他的RPC技术 71
7.2.3 SOAP的优势与不足 72
7.3 SOAP消息的组件 73
7.3.1 SOAP包封 73
7.3.2 SOAP头 73
7.3.3 SOAP体:调用 75
7.3.4 SOAP体:响应 75
7.3.5 SOAP体:错误 76
7.4 支持的数据类型 77
7.5 单引用与多引用存取程序 78
7.6 小结 80
第8章 了解WSDL 81
8.1 WSDL家族 82
8.2 WSDL如何工作 82
8.3.2 消息部分 83
8.3.3 端四类型部分 83
8.3.1 类型部分 83
8.3 WSDL文件的组成部分 83
8.3.4 绑定部分 84
8.3.5 服务部分 84
8.4 考察WSDL文件 85
8.4.1 < definitions>元素 85
8.4.2 考察类型部分 86
8.4.3 考察消息部分 87
8.4.4 考察端四类型部分 87
8.4.5 考察绑定部分 88
8.4.6 考察服务部分 89
8.5 绑定扩展 89
8.6 WSDL的未来 90
8.7 小结 90
第9章 理解DISCO 91
9.1 什么是Discovery 91
9.2 DISCO规范的要点 92
9.2.1 Discovery算法 92
9.2.2 DISCO文档的格式 93
9.3 什么是动态Discovery 94
9.4 添加Web引用:一个 DISCO用户 95
9.5 小结 96
第10章 异常事件与错误处理 97
10.1 异常事件处理的方法 97
10.2 抛出SOAP异常事件 100
10.3 一个异常事件示例 101
10.4 在ASP.NET客户端处理异常事件 104
10.5 小结 111
11.1 对WebService类的继承 112
第11章 通过Web服务访问ASP.NET对象 112
11.2 Context和Application示例 113
11.2.1 创建Context应用程序客户端示例 118
11.2.2 查看客户端结果 123
11.3 小结 123
第12章 调用Web服务的三种方法 124
12.1 Web服务帮助页和HTTP-GET 124
12.2 使用HTTP-GET调用Web服务 128
12.3 使用HTTP-POST调用Web服务 129
12.4 使用MSXML XMLHTTP对象 130
12.5 小结 131
13.1 处理指令 132
第13章 Web服务属性与特性 132
13.1.1 Language特性 133
13.1.2 CodeBehind特性 134
13.1.3 Class特性 134
13.2 WebService属性 134
13.2.1 Namespace特性 134
13.2.2 Description特性 135
13.3.1 BufferResponse特性 137
13.3.2 CacheDuration特性 137
13.2.3 Name特性 137
13.3 WebMethod属性 137
13.3.3 Description特性 138
13.3.4 EnableSesion特性 138
13.3.5 MessageName特性 139
13.3.6 TransactionOption特性 139
13.4 小结 140
14.1 SOAP规范和数据类型 141
第14章 传送复杂的结构和数据类型 141
14.2 理解类、XSD、WSD和代理 142
14.3 通过Web服务传送.NET结构 143
14.4 创建Web服务客户端 150
14.5 通过Web服务传送XML 157
14.6 小结 162
第15章 通过Wall服务传送ADO.NET数据集 163
15.1 Web服务、DataSet和一种新的分高体系结构 163
15.1.1 理解DataSet 164
15.1.3 DataSet中的DataTable和DataRelation 165
15.1.2 DataAdapter对象 165
15.2 DataSetSample示例 166
15.2.1 构造DataSet 170
15.2.2 构造客户端 170
15.2.3 绑定到DataSet 174
15.3 DataSetRoundTrip示例 174
15.3.1 构造DataSetRoundTripClient 178
15.3.2 监视结果 183
15.3.3 理解DiffGram 185
15.4 小结 186
第16章 在Visual Studio.NET中使用Web服务设计器 187
16.1 EvetLogService类 187
16.2 小结 193
第17章 COM互用性和Web服务 194
17.1 互用性的工作原理 194
17.2 一个互用性示例 194
17.2.1 创建COM组件 195
17.2.3 在Web服务中创建到COM组件的引用 196
17.2.2 注册COM组件 196
17.2.4 访问COM组件的方法和属性 197
17.3 小结 201
第18章 在Web服务中使用事务 202
18.1 理解事务 202
18.1.1 事务的工作原理 202
18.1.2 事务、COM十服务和.NET 203
18.1.5 TransactionOption特性 204
18.1.4 在Web服务中事务的局性和特性 204
18.1.3 ASP.NET Web服务中事务的局限性 204
18.1.6 AutoComplete属性 205
18.2 事务处理示例 205
18.2.1 构造Web服务 205
18.2.2 创建一个对System.,EnterpriseServices类的引用 206
18.2.3 继续构造事务示例 206
18.2.4 在Debug模式下检查Web服务 212
18.4 小结 213
18.3 跨Web服务的事务 213
第19章 异步调用Web服务 214
19.1 如何进行异步调用 214
19.2 异步Web服务示例 215
19.2.1 构造Web服务 215
19.2.2 构造客户端 219
19.2.3 测试回调和WaitHandle函数 227
19.3 小结 228
20.1.1 创建Web服务 229
20.1 Office Web服务示例 229
第20章 在Office XP中使用Web服务 229
20.1.2 创建Excel电子表格:第1部分 233
20.1.3 测试电子表格 235
20.1.4 创建Excel电子表格:第2部分 236
20.1.5 测试电子表格 240
20.2 小结 240
第21章 Web服务行为 242
21.1 理解DHTML行为 242
21.2.1 连接到Web服务行为 243
21.2 Web服务行为如何工作 243
21.2.2 识别Web服务 244
21.2.3 调用Web服务的方法 244
21.2.4 处理Web服务的结果 245
21.3 WSBehavior示例 245
21.3.1 构造WSBeboor Web服务 246
21.3.2 下载WebService.htc 250
21.3.3 用Web服务行为构造WSBehavior客户端 250
21.4 小结 253
22.1 创建SOAP头Web服务示例 254
第22章 在Web服务中操作SOAP头 254
22.2 构建SOAP头Web服务示例 255
22.2.1 SoapHeaderSample.asmx代码的解释 258
22.2.2 了解SoapHeader属性 259
22.3 构建SOAP头客户端示例 260
22.3.1 查看结果 264
22.3.2 实现方式 264
22.4 未知头的处理 265
22.5 小结 266
第23章 利用XML属性操作SOAP消息 267
23.1 在Web服务中操作SOAP消息的示例 267
23.2 小结 272
第24章 使用SOAP扩展 273
24.1 使用SOAP扩展能够做什么 273
24.2 SoapLogger扩展示例 274
24.3 创建客户端 286
24.4 小结 290
25.1 什么是UDDI 291
第25章 了解UDDI 291
25.2 从商业的角度来观察UDDI 292
25.2.1 场景1:手动查询UDDI 292
25.2.2 场景2:程序查询UDDI 292
25.2.3 场景3:把UDDI当做一种搜索引擎资源 293
25.2.4 场景4:把UDDI当做一种由子商务资源 293
25.3 UDDI注册表数 293
25.3.1 白页 293
25.3.2 黄页 293
25.3.3 绿页 294
25.4 从技术的角度来观察UDDI 294
25.4.1 UDDI的Web服务接口 294
25.4.2 UDDI和其他Web服务类型 294
25.4.3 授权和安全 295
25.4.4 UDDI调用和恢复模型 295
25.4.5 UDDI的数据结构 295
25.5.1 查询用API 298
25.5.2 搜索限定词 298
25.5 UDDI程序员的API规范 298
25.5.3 发布用API 299
25.6 UDDI前景 299
25.7 小结 300
第26章 Web服务的配置、部署和安全 301
26.1 配置 301
26.1.1 web.config文件 301
26.1.2 通过编程使用web.config文件 302
26.1.3 通过Visual Studio.NET使用web.config文件 303
26.1.4 使用配置管理器 304
26.2 部署 306
26.2.1 使用Xcopy部署 307
26.2.2 使用Visual Studio.NET里的Cope Project命令 307
26.2.3 在Visual Studio.NET中创建一个部署项目 308
26.3 安全 309
26.3.1 验证和授权 311
26.3.2 用登录凭证进行验证 311
26.3.4 不涉及IIS进行验证 312
26.3.3 用IIS地址约束进行验证 312
26.3.5 授权 313
26.3.6 加密 314
26.3.7 验证和授权的场景 314
26.3.8 编程控制的授权方式 316
26.4 小结 318
27.2 什么是.NET My Services 320
27.2.1 .NET My Services in a Box 320
27.1 .NET构建块服务 320
第27章 .NET My Services介绍 320
27.2.2 Microsoft Passport 321
27.2.3 .NET My Services的未来版本 321
27.2.4 .NET My Services如何工作 321
27.2.5 .NET My Services的使用场合 322
27.2.6 最终用户赋受益 322
27.2.7 企业受益 323
27.2.8 从技术的角度考察.NET My Services 323
27.2.9 推广Passport和.NET My Services的障碍 324
27.3 小结 325
附录 Internet上的SOM、Web服务和.NET链接 326