內容介紹
《Java Web 服務:構建與運行(影印版)》提供了對Java的API的一個全面介紹,包括針對XML Web服務的JAX-WS和針對RESTful Web服務的JAX-RS。《Java Web服務:構建與運行》通過提供混合架構概述、完整的工作代碼示例以及短而精確的編譯、部署和執行應用程式的指示,採用明確實用的方法來處理這些技術。你將學習如何從頭開始編寫Web服務以及集成現有服務到你的Java應用程式中。有了這《Java Web 服務:構建與運行(影印版)》,你將:
· 理解基於SOAP的和REST樣式的服務的區別
· 編寫、部署和使用基於SOAP的核心Java服務
· 理解Web服務描述語言(WSDL)服務契約
· 認識SOAP訊息的結構
· 學習如何交付基於Java的RESTful Web服務和消耗商業RESTful服務
· 了解對基於SOAP和基於REST的Web服務的安全要求
· 學習如何在各種環境下部署JAX-WS服務
不管是學生還是有經驗的程式設計師,當你需要立即運用這些技術展開工作時,《Java Web服務:構建與運行》都是你需要的一本理想的簡明指南。
作品目錄
Preface1.Java Web Services Quickstart What Are Web Services? What Good Are Web Services? A First Example The Service Endpoint Interface and Service Implementation Bean A Java Application to Publish the Web Service Testing the Web Service with a Browser A Perl and a Ruby Requester of the Web Service The Hidden SOAP A Java Requester of the Web Service Wire-Level Tracking of HTTP and SOAP Messages What's Clear So Far? Key Features of the First Code Example Java's SOAP API An Example with Richer Data Types Publishing the Service and Writing a Client Multithreading the Endpoint Publisher What's Next?2.All About WSDLs What Good Is a WSDL? Generating Client-Support Code from a WSDL The @WebResult Annotation WSDL Structure A Closer Look at WSDL Bindings Key Features of Document-Style Services Validating a SOAP Message Against a WSDL's XML Schema The Wrapped and Unwrapped Document Styles Amazon's E-Commerce Web Service An E-Commerce Client in Wrapped Style An E-Commerce Client in Unwrapped Style Tradeoffs Between the RPC and Document Styles An Asynchronous E-Commerce Client The wsgen Utility and JAX-B Artifacts A JAX-B Example Marshaling and wsgen Artifacts An Overview of Java Types and XML Schema Types Generating a WSDL with the wsgen Utility WSDL Wrap-Up Code First Versus Contract First A Contract-First Example with wsimport A Code-First, Contract-Aware Approach Limitations of the WSDL What's Next?3. SOAP Handling SOAP: Hidden or Not? SOAP 1.1 and SOAP 1.2 SOAP Messaging Architecture Programming in the JWS Handler Framework The RabbitCounter Example Injecting a Header Block into a SOAP Header Configuring the Client-Side SOAP Handler Adding a Handler Programmatically on the Client Side Generating a Fault from a @WebMethod Adding a Logical Handler for Client Robustness Adding a Service-Side SOAP Handler Summary of the Handler Methods The RabbitCounter As a SOAP 1.2 Service The MessageContext and Transport Headers An Example to Illustrate Transport-Level Access Web Services and Binary Data Three Options for SOAP Attachments Using Base64 Encoding for Binary Data Using MTOM for Binary Data What's Next?4. RESTful Web Services What Is REST? Verbs and Opaque Nouns From @WebService to @WebServiceProvider A RESTful Version of the Teams Service The WebServiceProvider Annotation Language Transparency and RESTful Services Summary of the RESTful Features Implementing the Remaining CRUD Operations Java API for XML Processing The Provider and Dispatch Twins A Provider/Dispatch Example More on the Dispatch Interface A Dispatch Client Against a SOAP-based Service Implementing RESTful Web Services As HttpServlets The RabbitCounterServlet Requests for MIME-Typed Responses Java Clients Against Real-World RESTful Services The Yahoo! News Service The Amazon E-Commerce Service: REST Style The RESTful Tumblr Service WADLing with Java-Based RESTful Services JAX-RS: WADLing Through Jersey The Restlet Framework What's Next?5. Web Services Security Overview of Web Services Security Wire-Level Security HTTPS Basics Symmetric and Asymmetric Encryption/Decryption How HTTPS Provides the Three Security Services The HttpsURLConnection Class Securing the RabbitCounter Service Adding User Authentication HTTP BASIC Authentication Container-Managed Security for Web Services Deploying a @WebService Under Tomcat Securing the @WebService Under Tomcat Application-Managed Authentication Container-Managed Authentication and Authorization Configuring Container-Managed Security Under Tomcat Using a Digested Password Instead of a Password A Secured @WebServiceProvider WS-Security Securing a @WebService with WS-Security Under Endpoint The Prompter and the Verifier The Secured SOAP Envelope Summary of the WS-Security Example What's Next?6. JAX-WS in Java Application Servers Overview of a Java Application Server Deploying @WebServices and @WebServiceProviders Deploying @WebServiceProviders Integrating an Interactive Website and a Web Service A @WebService As an EJB Implementation As a Stateless Session EJB The Endpoint URL for an EBJ-Based Service Database Support Through an @Entity The Persistence Configuration File The EJB Deployment Descriptor Servlet and EJB Implementations of Web Services Java Web Services and Java Message Service WS-Security Under GlassFish Mutual Challenge with Digital Certificates MCS Under HTTPS MCS Under WSIT The Dramatic SOAP Envelopes Benefits of JAS Deployment What's Next?7. Beyond the Flame Wars A Very Short History of Web Services The Service Contract in DCE/RPC XML-RPC Standardized SOAPSOAP-Based Web Services Versus Distributed ObjectsSOAP and REST in HarmonyIndex