diff --git a/doc/src/docbkx/bibliography.xml b/doc/src/docbkx/bibliography.xml
deleted file mode 100644
index f093da89..00000000
--- a/doc/src/docbkx/bibliography.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
- Bibliography
-
-
-
- Jim
- Waldo
-
-
- Ann
- Wollrath
-
-
- Sam
- Kendall
-
-
- A Note on Distributed Computing
-
- Springer Verlag
-
- 1994
-
-
-
-
- Steve
- Loughran
-
-
- Edmund
- Smith
-
-
- Rethinking the Java SOAP Stack
- May 17, 2005
-
- 2005
- IEEE Telephone Laboratories, Inc.
-
-
-
-
-
- Ted
- Neward
-
-
- Effective Enterprise Java
-
- Addison-Wesley
-
- 2004
-
-
\ No newline at end of file
diff --git a/doc/src/docbkx/client.xml b/doc/src/docbkx/client.xml
deleted file mode 100644
index 2950b89f..00000000
--- a/doc/src/docbkx/client.xml
+++ /dev/null
@@ -1,160 +0,0 @@
-
-
-
- Using Spring Web Services on the Client
-
- Introduction
-
- Spring-WS provides a client-side Web service API that allows for consistent, XML-driven access to Web
- services. It also allows for use of marshallers and unmarshallers.
-
-
- The package org.springframework.ws.client.core provides the core functionality for using
- the client-side access API. It contains template classes that simplifies the use of Web services, much like
- the JdbcTemplate does for JDBC. The design principle common to Spring template
- classes is to provide helper methods to perform common operations and for more sophisticated usage, delegate
- the essence of the processing task to user implemented callback interfaces. The Web service template
- follows the same design. The classes offer various
- convenience methods for the sending and receiving of XML messages, marshalling objects to XML before sending,
- and allows for multiple transports,
-
-
-
- Using the client-side API
-
- WebServiceTemplate
-
- The WebServiceTemplate is the core class for client-side Web service access in
- Spring-WS. It contains methods for sending Source objects, and receiving response
- messages as either Source or Result. Additionally, it can
- marshal objects to XML before sending them across a transport, and unmarshal the response XML into an
- object again.
-
-
- Transports
-
- The WebServiceTemplate requires a reference to a
- MessageSender. The message sender is responsible for sending the XML message
- across a transport layer.
-
-
- There are two implementations of the MessageSender interface for sending messages
- via HTTP. The simplest implementation is the HttpUrlConnectionMessageSender,
- which uses the facilities provided by Java SE itself. The alternative is the
- CommonsHttpMessageSender, which uses the Jakarta Commons HttpClient. Use the
- latter if you need more advanced and easy-to-use functionality. Both HTTP message senders require an
- URL to be set using the url property.
-
-
-
- Message factories
-
- In addition to a message sender, the WebServiceTemplate requires a Web service
- message factory. As explained in , there are two message factories
- for SOAP: SaajSoapMessageFactory and
- AxiomSoapMessageFactory.
-
-
-
-
- Sending and receiving a WebServiceMessage
-
- The WebServiceTemplate contains many convenience methods to send and receive
- web service messages. There are methods that take and return Source
- and those that return a Result. Additionally, there are methods which
- marshal and unmarshal objects to XML. Here is an example that sends a simple XML message to a Web
- service.
-
- Hello World";
- private WebServiceTemplate webServiceTemplate = new WebServiceTemplate();
-
- public void setMessageFactory(WebServiceMessageFactory messageFactory) {
- webServiceTemplate.setMessageFactory(messageFactory);
- }
-
- public void setMessageSender(WebServiceMessageSender messageSender) {
- webServiceTemplate.setMessageSender(messageSender);
- }
-
- public void simpleSendAndReceive() throws IOException {
- StreamSource source = new StreamSource(new StringReader(MESSAGE));
- StreamResult result = new StreamResult(System.out);
- webServiceTemplate.sendAndReceive(source, result);
- }
-
-}]]>
-
- Here is the corresponding configuration:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-]]>
-
- This example uses the template to send a hello world message to the web service located at
- http://localhost:8080/WebService, and writes the result to the console.
- The WebServiceTemplate is injected with the message factory and sender.
- A zero argument constructor and messageFactory /
- messageSender bean properties are provided and can be used for constructing
- the instance (using a BeanFactory or plain Java code). Alternatively, consider deriving from
- Spring-WS's WebServiceGatewaySupport convenience base class, which provides
- pre-built bean properties for configuration.
-
-
-
- Marshalling, sending, receiving, and unmarshalling
-
- In order to facilitate the sending of plain Java objects, the WebServiceTemplate
- has a send methods that take an object as an argument for a message's data content.
- The method marshalSendAndReceive in WebServiceTemplate
- delegates the conversion of the request object to XML to a Marshaller, and
- the conversion of the response XML to an object to an Unmarshaller.
- For more information about marshalling and unmarshaller, refer to .
- By using the marshallers, you and your application code can focus on the business object that is being
- sent or received and not be concerned with the details of how it is represented as XML.
- In order to use the marshalling functionality, you have to set a marshaller and unmarshaller with the
- marshaller/unmarshaller properties of the
- WebServiceTemplate.
-
-
-
- WebServiceMessageCallback
-
- To accommodate the setting of a SOAP headers, and other settings on the message, the
- WebServiceMessageCallback interface gives you access to the message
- after it has been created, but before it is sent. The example below demonstrates how to set the SOAP
- Action header on a message that is created by marshalling an object.
-
-
-
-
-
\ No newline at end of file
diff --git a/doc/src/docbkx/images/i21-banner-rhs.jpg b/doc/src/docbkx/images/i21-banner-rhs.jpg
deleted file mode 100644
index 8b24a773..00000000
Binary files a/doc/src/docbkx/images/i21-banner-rhs.jpg and /dev/null differ
diff --git a/doc/src/docbkx/images/oxm-exceptions.png b/doc/src/docbkx/images/oxm-exceptions.png
deleted file mode 100644
index 9503d600..00000000
Binary files a/doc/src/docbkx/images/oxm-exceptions.png and /dev/null differ
diff --git a/doc/src/docbkx/images/oxm-exceptions.svg b/doc/src/docbkx/images/oxm-exceptions.svg
deleted file mode 100644
index e33c67ae..00000000
--- a/doc/src/docbkx/images/oxm-exceptions.svg
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
diff --git a/doc/src/docbkx/images/xdev-spring_logo.jpg b/doc/src/docbkx/images/xdev-spring_logo.jpg
deleted file mode 100644
index 622962ee..00000000
Binary files a/doc/src/docbkx/images/xdev-spring_logo.jpg and /dev/null differ
diff --git a/doc/src/docbkx/index.xml b/doc/src/docbkx/index.xml
deleted file mode 100644
index 268fc76c..00000000
--- a/doc/src/docbkx/index.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
- Spring Web Services - Reference Documentation
-
- &version;
-
-
-
-
- Arjen
- Poutsma
-
-
- Rick
- Evans
-
-
-
-
-
- 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.
-
-
-
-
-
-
-
-
-
- Document-driven Web services with Spring-WS
- This chapter will contain the reference for server-side Spring-WS usage.
-
-
-
-
-
-
-
-
diff --git a/doc/src/docbkx/overview.xml b/doc/src/docbkx/overview.xml
deleted file mode 100644
index e551c502..00000000
--- a/doc/src/docbkx/overview.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-
-
-
- Introduction
-
-
- Overview
-
- Spring-WS consists of three separate modules. This chapter discusses each of the modules in turn.
-
-
- The Core package is the central part of the Web services functionality. It
- provides the central WebServiceMessage and SoapMessage
- interfaces, the powerful message dispatching, and the various support classes for implementing Web service
- endpoints.
-
-
- The Security package provides a WS-Security implementation that integrates
- with the core Web service package. It allows you to add principal tokens, sign, and decrypt and encrypt SOAP
- messages. Addtionally, it allows you to leverage your existing Acegi security implementation for
- authentication and authorization.
-
-
- The OXM package provides integration for popular XML marshalling APIs, including
- JAXB 1 and 2. Using the OXM package means that you benefit from a unified exception hierarchy, and can wire
- up your favorite XML marshalling technology easily.
-
-
-
-
-
- Why Spring Web Services?
-
- There are various other SOAP stacks available, why and where should you use Spring-WS? This section answers
- that question by showing what the focus of Spring-WS is.
-
-
- Spring-WS is meant for Public Web Services
-
- One can distinguish between two different sorts of Web services. Private Web services are not used
- outside your application domain. They might form a part of your Enterprise Service Bus, or used as a
- means to communicate between a fat .NET client and a J2EE server. When the two sides of the spectrum
- (client and server) are under your control, you can easily expose (existing) methods, since you can
- (re)generate client code easily.
-
-
- Public Web services provide a separate interface to your application. They are often used by clients
- that are outside of your reach. When developing a public Web service, you should really think about the
- interface you are providing: it is probably going to be around for a while, and you cannot change it
- that often. As such, it is a good idea to place the Web service in a separate layer, thus hiding the
- inner workings of the application. As a result, you can change the Web service and the rest of the
- appliciation seperately.
-
-
-
- Spring-WS makes Web Services First Class Citizens of the Architecture
-
- Web Services deserve a proper place in an application architecture. Often, they exist as an afterthought
- in the application architecture, mostly because existing Java business interfaces are exposed as SOAP
- services. One could say that they are "SOAPified". Spring-WS provides a MVC-like framework for
- developing a Web service application layer, just like you would develop a layer especially for a Web
- user interface using Spring-MVC. Spring-WS also provides useful integration points with you existing
- Spring application architecture, such as the Acegi integration.
-
-
-
- Spring-WS is Data-Driven
-
- When Web Services started making their way into the Enterprise Computing world, developers considered
- Web Services just another, XML-based remoting protocol. Such remoting frameworks can be used with
- relative ease: on the server-side, one simply implements a specific interface such as
- java.rmi.Remote, and on the client side, a dynamic proxy is used.
- Unfortunately, because of this simplicity, remoting architectures have some issues:
-
-
-
- They pretend there is no latency between the client and the server,
- while in fact there is both network and application latency,
-
-
-
-
- They pretend that client and server have shared memory access, while in
- fact data must be both marshalled and unmarshalled,
-
-
-
-
- They ignore the possibility of a request or response not reaching its
- destination,
-
-
-
-
- They enforce a non-concurrent programming model, while in fact a
- concurrent approach seems more in place,
-
-
-
-
- They enforce a tightly coupled architecture, where changes on the
- server-side result in changes on the client-side.
-
-
-
- It is not without reason that Gregor Hohpe calls a distributed architecture a fairy tale
- architecture: one is made to believe things that simply are not true. To quote :
-
-
- Objects that interact in a distributed system need to be dealt with in ways that are
- intrinsically different from objects that interact in a single address space.
-
-
-
-
- Instead of being behavior-driven, Spring-WS is data-driven: it focusses on the data being sent, not on a
- particular method being invoked.
-
-
-
- Spring-WS Focusses on Contract-first Development
-
- SOAP services are defined in two contracts: the data contract (the XSD schema), and the service contract
- (the WSDL). Generating these contracts from Java-code is called contract-last
- development identifies some problems with this approach, most
- importantly:
-
-
- There is no way to ensure that a service’s published interface remains constant over time.
- Every redeployment of the service may change the classes, and hence the contract.
-
-
- The alternative of contract-last development is contract-first development.
- Using this approach, the service and data contract are leading. Spring-WS focusses on contract-first Web
- service development, because is considered to be a best practice. After all, the actual XML that is sent
- across the wire is more important than the Java code that is used to implement it.
-
-
-
-
diff --git a/doc/src/docbkx/oxm.xml b/doc/src/docbkx/oxm.xml
deleted file mode 100644
index 2d2828bd..00000000
--- a/doc/src/docbkx/oxm.xml
+++ /dev/null
@@ -1,617 +0,0 @@
-
-
-
- Marshalling XML using O/X Mappers
-
-
- Introduction
-
- In this chapter, we will describe Spring's Object/XML Mapping support. Object/XML Mapping, or O/X mapping
- for short, is the act of converting an XML document to and from an object. This conversion process is also
- known as XML Marshalling, or XML Serialization. This chapter uses these terms interchangeably.
-
-
- Within the field of O/X mapping, a
- marshaller
- is responsible for serializing an object (graph) to XML. In similar fashion, an
- unmarshaller
- deserializes the XML to an object graph. This XML can take the form of a DOM document, an input or output
- stream, or a SAX handler.
-
- Some of the benefits of using Spring for your O/X mapping needs are:
-
- Ease of configuration
-
- Spring's bean factory makes it easy to configure marshallers, without needing to construct JAXB context,
- JiBX binding factories, etc. The marshallers can be configured as any other bean in your application
- context.
-
-
-
- Consistent Interfaces
-
- Spring's O/X mapping operates through two global interfaces: the
- Marshaller
- and
- Unmarshaller
- interface. These abstractions allow you to switch O/X mapping frameworks with relative ease, with little
- or no changes required on the classes that do the marshalling. This approach has the additional benefit
- of making it possible to do XML marshalling with a mix-and-match approach (e.g. some marshalling
- performed using JAXB, other using XMLBeans) in a non-intrusive fashion, leveraging the strength of each
- technology.
-
-
-
- Consistent Exception Hierarchy
-
- Spring provides a conversion from exceptions from the underlying O/X mapping tool to its own exception
- hierarchy with the
- XmlMappingException
- as the root exception. As can be expected, these runtime exceptions wrap the original exception so no
- information is lost.
-
-
-
-
- Marshaller and Unmarshaller
-
- As stated in the introduction, a marshaller serializes an object to XML, and an
- unmarshaller deserializes XML stream to an object. In this section, we will describe
- the two Spring interfaces used for this purpose.
-
-
- Marshaller
-
- Spring abstracts all marshalling operations behind the
- org.springframework.oxm.Marshaller
- interface, which is listed below.
-
- The
- Marshaller
- interface has just one method, which marshals the given
- object to a given
- javax.xml.transform.Result
- . Result is a tagging interface that
- basically represents an XML output abstraction: concrete implementations wrap various XML
- representations, as indicated in the table below.
-
-
-
-
-
- javax.xml.transform.Result
- implementation
-
- Wraps XML representation
-
-
-
-
-
- javax.xml.transform.dom.DOMResult
-
-
- org.w3c.dom.Node
-
-
-
-
- javax.xml.transform.sax.SAXResult
-
-
- org.xml.sax.ContentHandler
-
-
-
-
- javax.xml.transform.stream.StreamResult
-
-
- java.io.File
- ,
- java.io.OutputStream
- ,
- or
- java.io.Writer
-
-
-
-
-
-
-
- Although the
- marshal
- method accepts a plain object as its first parameter,
- most
- Marshaller
- implementations cannot handle arbitrary objects. Instead, an
- object class must be mapped in a mapping file, registered with the marshaller, or have a common base
- class. Refer to the further sections in this chapter to determine how your O/X technology of choice
- manages this.
-
-
-
-
-
- Unmarshaller
-
- Similar to the
- Marshaller
- , there is the
- org.springframework.oxm.Unmarshaller
- interface.
-
- This interface also has one method, which reads from the given
- javax.xml.transform.Source
- (an XML input abstraction), and returns the
- object read. As with Result, Source is a tagging interface that has three concrete implementations. Each
- wraps a different XML representation, as indicated in the table below.
-
-
-
-
-
- javax.xml.transform.Source
- implementation
-
- Wraps XML representation
-
-
-
-
-
- javax.xml.transform.dom.DOMSource
-
-
- org.w3c.dom.Node
-
-
-
-
- javax.xml.transform.sax.SAXSource
-
-
- org.xml.sax.InputSource
- and
- org.xml.sax.XMLReader
-
-
-
-
- javax.xml.transform.stream.StreamSource
-
-
- java.io.File
- ,
- java.io.InputStream
- ,
- or
- java.io.Reader
-
-
-
-
-
-
-
-
- Even though there are two separate marshalling interfaces (
- Marshaller
- and
- Unmarshaller
- ), most implementations found in Spring-WS implement both in one class.
- This means that you can wire up one marshaller class and refer to it as marshaller and unmarshaller in your
- applicationContext.xml
- .
-
-
- XmlMappingException
-
- Spring converts exceptions from the underlying O/X mapping tool to its own exception hierarchy with the
- XmlMappingException
- as the root exception. As can be expected, these runtime
- exceptions wrap the original exception so no information will be lost.
-
-
- Additionally, the
- MarshallingFailureException
- and
- UnmarshallingFailureException
- provide a distinction between marshalling and
- unmarshalling operations, even though the underlying O/X mapping tool does not do so.
-
-
- The O/X Mapping exception hierarchy is shown in the following figure:
-
-
-
-
-
-
-
-