第1章 概述 1
1.1 XML Web服务简介 1
1.2 XML Web服务的基础结构 3
1.3 XML 标准 4
1.4 SOAP协议 9
1.5 XML Web服务的目录--UDDI 12
1.6 描述 XML Web服务--WSDL 14
1.7 Global XML Web服务体系结构 16
1.8 小结 18
第2章 使用Visual Studio.NET创建ASP.NET Web服务 19
2.1 ASP.NET XML Web服务项目的构成 21
2.2 ASP.NET XML Web服务的代码模型 24
2.2.1 入口点文件 24
2.2.2 后台代码文件 25
2.3 测试ASP.NET XML Web服务 27
2.4 WebService类 30
2.5 在XML Web服务类中使用属性 32
2.5.1 使用WebService属性 32
2.5.2 使用WebMethod属性 34
2.6 设置XML Web服务 40
2.7 部署XML Web服务 41
2.7.1 通过创建安装项目来部署 XML Web服务 41
2.7.2 通过复制项目来部署XML Web服务 45
2.8 小结 46
第3章 创建访问Web服务的客户程序 47
3.1 创建Windows窗体客户程序 47
3.1.1 使用模板创建新项目 47
3.1.2 创建代理类 48
3.1.3 在客户程序中通过代理类来访问XML Web服务 52
3.2 创建ASP.NET客户程序 59
3.3 查看代理类 64
3.4 使用异步方式访问 XML Web服务 71
3.4.1 使用回调函数 72
3.4.2 使用WaitHandle类 74
3.5 小结 77
第4章 XML Web 服务描述语言 78
4.1 WSDL文档的结构 78
4.1.1 definitions元素 78
4.1.2 types元素 79
4.1.3 message元素 82
4.1.4 portType元素 85
4.1.5 binding元素 87
4.1.6 service元素 90
4.2 应用WSDL文档 91
4.3 使用属性定制WSDL 100
4.3.1 WebServiceAttribute属性 107
4.3.2 WebMethodAttribute属性 108
4.3.3 WebServiceBindingAttribute属性 110
4.4 使用配置文件改变WSDL 113
4.5 小结 114
第5章 基于接口的XML Web服务编程 115
5.1 定义接口 116
5.2 实现接口 122
5.2.1 创建接口类 123
5.2.2 实现接口 125
5.3 创建使用接口的客户程序 128
5.4 定义多个接口 132
5.5 小结 137
6.1.1 HTTP消息的格式 138
6.1 HTTP协议 138
第6章 XML Web服务的通信协议 138
6.1.2 HTTP GET方法 140
6.1.3 HTTP POST方法 141
6.1.4 示例程序 143
6.2 SOAP协议 148
6.3 SOAP协议与HTTP协议 152
6.4 在ASP.NET XML Web服务中使用SOAP Header 158
6.4.1 SoapHeader类和SoapUnknownHeader类 159
6.4.3 在XML Web服务中实际使用SOAP Header元素 160
6.4.2 SoapHeaderAttribue属性类 160
6.4.4 创建使用SOAP报头的客户程序 166
6.5 小结 169
第7章 定制SOAP消息 170
7.1 SOAP消息的编码样式 170
7.1.1 document/literal 171
7.1.2 document/encoded 172
7.1.3 rpc/encoded 173
7.2 使用属性定制SOAP消息 174
7.2.1 SoapDocumentServiceAttribute属性 175
7.2.2 SoapRpcServiceAttribute属性 179
7.2.3 SoapDocumentMethodAttribute属性 180
7.2.4 SoapRpcMethodAttribute特性 186
7.3 使用XML序列化定制SOAP消息 188
7.3.1 使用属性控制XML序列化 188
7.3.2 XML Web服务的XML序列化 193
7.4 小结 198
第8章 使用SOAP扩展 199
8.1 SOAP扩展概述 199
8.2 创建SOAP扩展属性类 201
8.3 创建SOAP扩展类 203
8.3.1 GetInitializer方法 204
8.3.2 Initialize方法 205
8.3.3 ChainStream方法 205
8.3.4 ProcessMessgae方法 207
8.4 使用SOAP扩展 209
8.4.1 使用SOAP扩展属性为方法指定SOAP扩展 209
8.4.2 使用配置文件指定SOAP扩展 209
8.5 示例程序 210
8.5.1 创建使用SOAP扩展的XML Web服务 211
8.5.2 创建客户程序 225
8.5.3 为客户程序添加SOAP扩展 227
8.6 小结 229
第9章 XML Web服务的发现 230
9.1 UDDI概述 230
9.1.1 UDDI商业注册表 231
9.1.2 UDDI接入节点 232
9.2 UDDI的数据结构 232
9.2.1 tModel结构 233
9.2.2 bindingTemplate结构 234
9.2.3 businessService结构 235
9.2.4 businessEntity结构 236
9.3 UDDI的API 238
9.3.1 查询API 239
9.3.2 发布API 240
9.4 从UDDI注册表中查询信息 241
9.4.1 使用Microsoft接入节点提供的界面进行查询 241
9.4.2 编程查询UDDI注册表 248
9.5 向UDDI注册表中发布信息 264
9.5.1 确定要注册的信息 264
9.5.2 向UDDI中添加注册项 265
9.6 小结 272
10.1 使用XML的内建数据类型 273
第10章 XML Web服务中的数据类型处理 273
10.2 使用枚举类型 276
10.3 使用结构类型 278
10.4 使用数组 281
10.5 使用二进制数据 282
10.6 使用DataSet 283
10.7 使用自定义复杂类型 287
10.8 小结 291
11.1.1 会话状态 292
第11章 充分利用ASP.NET的功能 292
11.1 状态管理 292
11.1.2 应用程序状态 300
11.2 使用缓存 304
11.2.1 使用缓存时的注意事项 304
11.2.2 使用缓存的方式 305
11.2.3 ASP.NET提供的缓存支持 306
11.2.4 示例程序 310
11.3 使用事务 317
11.4 小结 319
第12章 创建安全的XML Web服务 320
12.1 基础结构中的安全性 320
12.2 身份验证与授权 329
12.2.1 配置身份验证 330
12.2.2 Windows身份验证示例程序 332
12.2.3 客户证书身份验证 338
12.2.4 XML Web sevices的授权选项 342
12.3 使用ASP.NET模拟 344
12.4 SOAP安全性 347
12.4.1 XML签名 348
12.4.2 XML加密 350
12.4.3 SOAP安全性 352
12.5 小结 358
第13章 通用XML Web服务客户程序 359
13.1 设计思路 359
13.2 程序设计 360
13.2.1 动态生成程序集的类 360
13.2.2 输入方法参数的对话框 373
13.2.3 主窗体的设计 376
13.3 小结 384