PacktLib: Spring Web Services 2 Cookbook

Spring Web Services 2 Cookbook

Credits

About the Authors

About the Reviewers

www.PacktPub.com

Preface

Building SOAP Web-Services

Introduction

Using Maven for building and running a Spring-WS project

Creating a data contract

Setting up a Web-Service using DispatcherServlet

Simplifying the creation of a Web-Service using MessageDispatcherServlet

Setting up a Web-Service on JMS transport

Setting up a Web-Service on E-mail transport

Setting up a Web-Service on embedded HTTP transport

Setting up Spring-WS on XMPP transport

Setting up a contract-first Web-Service

Setting up a simple endpoint mapping for the Web-Service

Setting up an endpoint by annotating the payload-root

Setting up a transport-neutral WS-Addressing endpoint

Setting up an endpoint using an XPath expression

Handling the incoming XML messages using DOM

Handling the incoming XML messages using JDOM

Handling the incoming XML messages using JAXB2

Validating the XML messages at the server side using an interceptor

Building Clients for SOAP Web-Services

Introduction

Setting up a Web-Service client development environment within Eclipse

Setting up a Web-Service client development environment using Maven

Creating a Web-Service client on HTTP transport

Creating a Web-Service client on JMS transport

Creating a Web-Service client on E-mail transport

Setting up a Web-Service on XMPP transport

Creating a Web-Service client using XPath expressions

Creating a Web-Service client for a WS-Addressing endpoint

Transforming a Web-Service message using XSLT

Testing and Monitoring Web-Services

Introduction

Integration testing using Spring-JUnit support

Server-side integration testing using MockWebServiceClient

Client-side integration testing using MockWebServiceServer

Monitoring TCP messages of a Web-Service using TCPMon

Monitoring and load/functional testing of a Web-Service using soapUI

Exception/SOAP Fault Handling

Introduction

Handling server-side exceptions by returning the exception's message as a SOAP fault string

Mapping exception class names to SOAP faults

Annotating exception classes with @SOAPFault

Writing your own exception resolvers in Spring-WS

Logging and Tracing of SOAP Messages

Introduction

Logging message payload manually

Logging both request and response SOAP Envelopes using log4j

Logging both request and response using Spring-WS's Interceptors

Using Eclipse IDE to debug a Spring-WS

Marshalling and Object-XML Mapping (OXM)

Introduction

Marshalling with JAXB2

Marshalling with XMLBeans

Marshalling with JiBX

Marshalling with XStream

Marshalling with MooseXML

Creating a custom marshaller using XPath for conditional XML parsing

Securing SOAP Web-Services using XWSS Library

Introduction

Authenticating a Web-Service call using plain/digested username token

Authenticating a Web-Service call using Spring security to authenticate a username token with a plain/digested password

Authenticating a Web-Service call using a JAAS service to authenticate a username token

Preparing pair and symmetric keystores

Securing SOAP messages using digital signature

Authenticating a Web-Service call using X509 certificate

Encrypting/decrypting of SOAP messages

Securing SOAP Web-Services using WSS4J Library

Introduction

Authenticating a Web-Service call using a username token with a plain/digest password

Authenticating a Web-Service call using Spring security to authenticate a username token with a plain/digest password

Securing SOAP messages using a digital signature

Authenticating a Web-Service call using an X509 certificate

Encrypting/decrypting SOAP messages

RESTful Web-Services

Introduction

Setting up a Spring RESTful Web-Service using RESTful features in Spring MVC

Using the REST Client tool to access Spring RESTful Web-Service

Setting up a Spring RESTful Web-Service using HTTP message conversion

Creating a WS Client for the Spring RESTful Web-Service using Spring template classes

Spring Remoting

Introduction

Setting up Web-Services using RMI

Setting up a servlet-based Web-Service using Hessian/Burlap, exposing business beans

Setting up Web-Services using JAX-WS

Exposing servlet-based Web-Services using Apache CXF

Exposing Web-Services using JMS as the underlying communication protocol

Index