Spring Web Services Reference Documentation

Authors

Arjen Poutsma , Rick Evans , Tareq Abed Rabbo

2.2.4.RELEASE

Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically.


Table of Contents

Preface
I. Introduction
1. What is Spring Web Services?
1.1. Introduction
1.2. Runtime environment
1.3. Supported standards
2. Why Contract First?
2.1. Introduction
2.2. Object/XML Impedance Mismatch
2.2.1. XSD extensions
2.2.2. Unportable types
2.2.3. Cyclic graphs
2.3. Contract-first versus Contract-last
2.3.1. Fragility
2.3.2. Performance
2.3.3. Reusability
2.3.4. Versioning
3. Writing Contract-First Web Services
3.1. Introduction
3.2. Messages
3.2.1. Holiday
3.2.2. Employee
3.2.3. HolidayRequest
3.3. Data Contract
3.4. Service contract
3.5. Creating the project
3.6. Implementing the Endpoint
3.6.1. Handling the XML Message
3.6.2. Routing the Message to the Endpoint
3.6.3. Providing the Service and Stub implementation
3.7. Publishing the WSDL
II. Reference
4. Shared components
4.1. Web service messages
4.1.1. WebServiceMessage
4.1.2. SoapMessage
4.1.3. Message Factories
SaajSoapMessageFactory
AxiomSoapMessageFactory
SOAP 1.1 or 1.2
4.1.4. MessageContext
4.2. TransportContext
4.3. Handling XML With XPath
4.3.1. XPathExpression
4.3.2. XPathTemplate
4.4. Message Logging and Tracing
5. Creating a Web service with Spring-WS
5.1. Introduction
5.2. The MessageDispatcher
5.3. Transports
5.3.1. MessageDispatcherServlet
Automatic WSDL exposure
5.3.2. Wiring up Spring-WS in a DispatcherServlet
5.3.3. JMS transport
5.3.4. Email transport
5.3.5. Embedded HTTP Server transport
5.3.6. XMPP transport
5.3.7. MTOM
5.4. Endpoints
5.4.1. @Endpoint handling methods
Handling method parameters
Handling method return types
5.5. Endpoint mappings
5.5.1. WS-Addressing
AnnotationActionEndpointMapping
5.5.2. Intercepting requests - the EndpointInterceptor interface
PayloadLoggingInterceptor and SoapEnvelopeLoggingInterceptor
PayloadValidatingInterceptor
PayloadTransformingInterceptor
5.6. Handling Exceptions
5.6.1. SoapFaultMappingExceptionResolver
5.6.2. SoapFaultAnnotationExceptionResolver
5.7. Server-side testing
5.7.1. Writing server-side integration tests
5.7.2. RequestCreator and RequestCreators
5.7.3. ResponseMatcher and ResponseMatchers
6. Using Spring Web Services on the Client
6.1. Introduction
6.2. Using the client-side API
6.2.1. WebServiceTemplate
URIs and Transports
Message factories
6.2.2. Sending and receiving a WebServiceMessage
6.2.3. Sending and receiving POJOs - marshalling and unmarshalling
6.2.4. WebServiceMessageCallback
WS-Addressing
6.2.5. WebServiceMessageExtractor
6.3. Client-side testing
6.3.1. Writing client-side integration tests
6.3.2. RequestMatcher and RequestMatchers
6.3.3. ResponseCreator and ResponseCreators
7. Securing your Web services with Spring-WS
7.1. Introduction
7.2. XwsSecurityInterceptor
7.2.1. Keystores
KeyTool
KeyStoreFactoryBean
KeyStoreCallbackHandler
7.2.2. Authentication
Plain Text Username Authentication
Digest Username Authentication
Certificate Authentication
7.2.3. Digital Signatures
Verifying Signatures
Signing Messages
7.2.4. Encryption and Decryption
Decryption
Encryption
7.2.5. Security Exception Handling
7.3. Wss4jSecurityInterceptor
7.3.1. Configuring Wss4jSecurityInterceptor
7.3.2. Handling Digital Certificates
CryptoFactoryBean
7.3.3. Authentication
Validating Username Token
Adding Username Token
Certificate Authentication
7.3.4. Security Timestamps
Validating Timestamps
Adding Timestamps
7.3.5. Digital Signatures
Verifying Signatures
Signing Messages
Signature Confirmation
7.3.6. Encryption and Decryption
Decryption
Encryption
7.3.7. Security Exception Handling
III. Other Resources
Bibliography