Spring Web Services - Reference Documentation

Authors

Arjen Poutsma, Rick Evans

1.0.4

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.


Preface
I. Introduction
1. What is Spring Web Services?
1.1. Introduction
1.2. Runtime environment
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.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
4.1.3.1. SaajSoapMessageFactory
4.1.3.2. AxiomSoapMessageFactory
4.1.3.3. 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
5. Creating a Web service with Spring-WS
5.1. Introduction
5.2. The MessageDispatcher
5.2.1. MessageDispatcherServlet
5.2.1.1. Automatic WSDL exposure
5.2.2. Wiring up Spring-WS in a DispatcherServlet
5.3. Endpoints
5.3.1. AbstractDomPayloadEndpoint and other DOM endpoints
5.3.2. AbstractMarshallingPayloadEndpoint
5.3.3. @Endpoint
5.3.3.1. @XPathParam
5.4. Endpoint mappings
5.4.1. PayloadRootQNameEndpointMapping
5.4.2. SoapActionEndpointMapping
5.4.3. MethodEndpointMapping
5.4.4. Intercepting requests - the EndpointInterceptor interface
5.4.4.1. PayloadLoggingInterceptor and SoapEnvelopeLoggingInterceptor
5.4.4.2. PayloadValidatingInterceptor
5.4.4.3. PayloadTransformingInterceptor
5.5. Handling Exceptions
5.5.1. SoapFaultMappingExceptionResolver
5.5.2. SoapFaultAnnotationExceptionResolver
6. Using Spring Web Services on the Client
6.1. Introduction
6.2. Using the client-side API
6.2.1. WebServiceTemplate
6.2.1.1. URIs and Transports
6.2.1.2. Message factories
6.2.2. Sending and receiving a WebServiceMessage
6.2.3. Sending and receiving POJOs - marshalling and unmarshalling
6.2.4. WebServiceMessageCallback
6.2.5. WebServiceMessageExtractor
7. Securing your Web services with Spring-WS
7.1. Introduction
7.2. XwsSecurityInterceptor
7.3. Keystores
7.3.1. KeyTool
7.3.2. KeyStoreFactoryBean
7.3.3. KeyStoreCallbackHandler
7.4. Authentication
7.4.1. Plain Text Username Authentication
7.4.1.1. SimplePasswordValidationCallbackHandler
7.4.1.2. AcegiPlainTextPasswordValidationCallbackHandler
7.4.1.3. JaasPlainTextPasswordValidationCallbackHandler
7.4.2. Digest Username Authentication
7.4.2.1. SimplePasswordValidationCallbackHandler
7.4.2.2. AcegiDigestPasswordValidationCallbackHandler
7.4.3. Certificate Authentication
7.4.3.1. KeyStoreCallbackHandler
7.4.3.2. AcegiCertificateValidationCallbackHandler
7.4.3.3. JaasCertificateValidationCallbackHandler
7.5. Digital Signatures
7.5.1. Verifying Signatures
7.5.1.1. KeyStoreCallbackHandler
7.5.2. Signing Messages
7.5.2.1. KeyStoreCallbackHandler
7.6. Encryption and Decryption
7.6.1. Decryption
7.6.1.1. KeyStoreCallbackHandler
7.6.2. Encryption
7.6.2.1. KeyStoreCallbackHandler
8. Marshalling XML using O/X Mappers
8.1. Introduction
8.2. Marshaller and Unmarshaller
8.2.1. Marshaller
8.2.2. Unmarshaller
8.2.3. XmlMappingException
8.3. Using Marshaller and Unmarshaller
8.4. JAXB
8.4.1. Jaxb1Marshaller
8.4.2. Jaxb2Marshaller
8.5. Castor
8.5.1. CastorMarshaller
8.5.2. Mapping
8.6. XMLBeans
8.6.1. XmlBeansMarshaller
8.7. JiBX
8.7.1. JibxMarshaller
8.8. XStream
8.8.1. XStreamMarshaller
III. Other Resources
Bibliography