前言 ............................................................................... 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
· · · · · · (
收起)