前言 ............................................................................... v
第1 章 Web 服务快速入门 ............................................. 1
1.1 Web 服务杂项 .................................................................................................3
1.2 Web 服务有什么好处 ......................................................................................4
1.3 Web 服务和面向服务的架构 ...........................................................................6
1.4 Web 服务简史 .................................................................................................8
1.4.1 从DCE/RPC 到XML-RPC ....................................................................8
1.4.2 分布式对象架构:Java 示例 ...............................................................10
1.4.3 用Web 服务来救援 .............................................................................12
1.5 什么是REST .................................................................................................13
1.5.1 动词和不透明名词 ...............................................................................16
1.6 回顾HTTP 请求和响应 .................................................................................17
1.7 HTTP 作为API .............................................................................................19
1.7.1 用Java 编写的两个HTTP 客户端 .......................................................20
1.8 第一个REST 式的例子 .................................................................................23
1.8.1 Predictions Web 服务的工作原理 .......................................................24
1.8.2 针对Predictions Web 服务的客户端 ....................................................32
1.9 为什么REST 式Web 服务要使用servlet ................................................... 33
1.10 下一步是什么 ..............................................................................................35
第2 章 REST 式的Web 服务:服务端 ......................... 39
2.1 REST 式服务作为一个HttpServlet 类 ..........................................................40
2.1.1 实现细节 .............................................................................................41
2.1.2 针对predictions2 服务的示例客户端调用 ...........................................52
2.2 REST 式 Web 服务作为一个JAX-RS 资源 ...................................................53
2.2.1 第一个使用Jersey 的JAX-RS Web 服务 .............................................54
2.2.2 用Java 应用程序发布JAX-RS 资源....................................................55
2.2.3 用Tomcat 发布JAX-RS 资源 ..............................................................56
2.2.4 Adage 类 ..............................................................................................58
2.2.5 JAX-RS 生成的XML 和JSON 响应 ...................................................62
2.2.6 将Predictions Web 服务移植到JAX -RS ............................................66
2.3 REST 式 Web 服务作为Restlet 的资源 .........................................................75
2.3.1 对adages2 服务的示例调用 ................................................................83
2.3.2 在不使用Web 服务器的情况下发布adages2 Restlet 服务 ..................84
2.3.3 REST 式服务作为一个@WebServiceProvider ....................................85
2.4 下一步是什么 ................................................................................................94
第3 章 REST 式的Web 服务:客户端 ......................... 95
3.1 针对Java REST 式Web 服务的Perl 客户端 .................................................96
3.2 针对亚马逊电子商务服务的客户端 ............................................................ 101
3.3 一个独立的JAX -B 示例 ............................................................................ 110
3.3.1 XStream 选项 .................................................................................... 114
3.4 针对亚马逊电子商务服务的另一个客户端 ................................................. 119
3.5 CTA 公共汽车跟踪服务 .............................................................................. 123
3.6 REST 式客户端和WADL 文档 ................................................................... 126
3.7 JAX-RS 客户端API .................................................................................... 132
3.8 用于JavaScript 客户端的JSON .................................................................. 134
3.8.1 JSONP 和Web 服务 .......................................................................... 135
3.8.2 使用jQuery 编写的组合REST 式服务 .............................................. 136
3.8.3 一个Ajax 轮询的例子 ....................................................................... 139
3.9 下一步是什么 .............................................................................................. 142
第4 章 基于SOAP 的Web 服务 ................................ 145
4.1 一个基于SOAP 的Web 服务 ...................................................................... 146
4.2 在两个文件中的RandService ..................................................................... 151
4.3 针对RandService 的客户端 ........................................................................ 152
4.3.1 针对RandService 的Java 客户端 ...................................................... 153
4.3.2 针对RandService 的C# 客户端 ........................................................ 156
4.3.3 针对RandService 的Perl 客户端 ....................................................... 157
4.4 WSDL 服务合同详解 .................................................................................. 159
4.4.1 types 部分 .......................................................................................... 162
4.4.2 message 部分 ..................................................................................... 163
4.4.3 portType 部分 .................................................................................... 163
4.4.4 binding 部分 ...................................................................................... 164
4.4.5 service 部分 ....................................................................................... 165
4.4.6 Java 和XML 模式的数据类型绑定 ................................................... 165
4.4.7 包装和解包的文档风格 ..................................................................... 168
4.4.8 用于服务端的wsimport 构件 ............................................................ 170
4.5 针对亚马逊的电子商务服务的基于SOAP 的客户端 .................................. 172
4.5.1 针对基于SOAP 的服务的异步客户端 .............................................. 178
4.6 下一步是什么 .............................................................................................. 181
第5 章 SOAP 处理程序和错误 ................................... 183
5.1 基于SOAP 的服务和客户端中的处理程序层 ............................................. 184
5.2 在predictionsSOAP 服务中的处理程序和错误 ........................................... 192
5.2.1 后台支持类 ........................................................................................ 196
5.2.2 从客户端到服务 ................................................................................ 199
5.2.3 签名验证 ........................................................................................... 208
5.2.4 来自应用层和处理程序层的错误 ...................................................... 208
5.2.5 链接服务端处理程序的服务 .............................................................. 209
5.3 有两个处理程序的处理程序链 .................................................................... 210
5.4 基于SOAP 的Web 服务和二进制数据 ....................................................... 215
5.5 传输层 ......................................................................................................... 221
5.6 Axis2 ........................................................................................................... 224
5.7 下一步是什么 .............................................................................................. 227
第6 章 Web 服务安全性 ............................................ 229
6.1 线路层安全 ................................................................................................. 230
6.1.1 HTTPS 基础 ...................................................................................... 231
6.1.2 对称和非对称加密/ 解密 .................................................................. 232
6.1.3 HTTPS 如何提供三种安全服务 ......................................................... 233
6.1.4 HTTPS 握手 ...................................................................................... 234
6.1.5 HttpsURLConnection 类 .................................................................... 236
6.2 一个非常轻量级的HTTPS 服务器和客户端 ............................................... 241
6.3 在生产级Web 服务器中的HTTPS ............................................................. 250
6.3.1 强制使用HTTPS 访问Web 服务 ....................................................... 252
6.3.2 一个针对predictions2 服务的HTTPS 客户端 ................................... 254
6.4 容器管理的安全性 ...................................................................................... 257
6.4.1 用Tomcat 安全领域链接服务的web.xml .......................................... 259
6.4.2 在用户/ 角色安全性中的客户端 ....................................................... 261
6.4.3 使用curl 实用程序用于HTTPS 测试 ................................................ 264
6.4.4 在HTTPS 与用户/ 角色的安全性下的@WebService ....................... 266
6.4.5 使用摘要的密码替代密码 ................................................................. 269
6.5 WS-Security ................................................................................................ 271
6.5.1 使用WS-Security 保护一个@WebService ........................................ 273
6.6 下一步是什么 .............................................................................................. 285
第7 章 Web 服务和Java 应用程序服务器................... 287
7.1 Web 容器 ..................................................................................................... 288
7.1.1 面向消息的中间件 ............................................................................. 289
7.1.2 企业Java Bean 容器 .......................................................................... 289
7.1.3 命名和查找服务 ................................................................................ 291
7.1.4 安全提供者 ........................................................................................ 291
7.1.5 客户端容器 ........................................................................................ 292
7.1.6 数据库系统 ........................................................................................ 292
7.2 通向一个轻量级的JAS ............................................................................... 292
7.3 GlassFish 基础 ............................................................................................ 292
7.4 在GlassFish 中基于Servlet 的Web 服务.................................................... 295
7.4.1 具有混合API 的例子 ........................................................................ 298
7.5 一个互动网站和基于SOAP 的Web 服务 ................................................... 303
7.6 一个作为@Stateless 会话EJB 的@WebService ........................................ 308
7.6.1 包装和部署predictionsEJB 服务 ....................................................... 313
7.6.2 针对predictionsEJB 服务的客户端 ................................................... 315
7.7 TomEE :带有Java EE 扩展的Tomcat ........................................................ 317
7.7.1 将predictionsEJB Web 服务移植到TomEE....................................... 318
7.7.2 将EJB 部署在一个WAR 文件中 ....................................................... 319
7.8 Java Web 服务最适合用在什么地方............................................................ 320
7.8.1 回到手头的问题 ................................................................................ 323
索引 ........................................................................... 325
· · · · · · (
收起)