                                                       ---------
                                                       Upgrading
                                                       ---------

Upgrading from version 1.0-RC2 to 1.0

    No major changes have occured since RC2. 

Upgrading from version 1.0-RC1 to 1.0-RC2

	Some minor last changes were made between version 1.0 Release Candidate 1 and 2 of the project. The following
should help most users the project update their applications:

* Client-side

    Some issues have been resolved which make the WebServiceTemplate more useable in Plain Old XML settings, and less
SOAP-specific.

    * The various overloaded <<<sendAndReceive()>>> methods have been renamed to aid comprehension. The method signature
    now reflects what is sent (eg. a Source), and what is received (eg. a Result).

    * The <<<WebServiceMessageCallback>>> method <<<doInMessage()>>> has been renamed to <<<doWithMessage()>>>, since it
    was poorly named.

    * The <<<FaultResolver>>> has been renamed to <<<FaultMessageReceiver>>> to indicate its responsibility more clearly.

    * The <<<SoapActionCallback>>> has been moved to <<<org.springframework.ws.soap.client.core>>>.

Upgrading from version 1.0-M3 to 1.0-RC1

	Some minor changes were made between version 1.0 Milestone 3 and Release Candidate 1 of the project. The following
should help most users the project update their applications:

* Attachments

    Attachment support had to be moved and changed to facilitate MTOM.

    * The <<<Attachment>>> interface was moved from <<<org.springframework.ws.soap>>> to <<<org.springframework.ws.mime>>>.

    * The <<<id>>> property on <<<Attachment>> was renamed to <<contentId>>>.

    * Methods for getting and adding attachments were taken from <<<SoapMessage>>> and extraced into a new interface:
<<<MimeMessage>>>. Adding a method requires a content id now.

* WebServiceTemplate

    The <<<WebServiceTemplate>>> no longer declares an IOException for each method. Rather, an runtime exception
    hierarchy has been created in <<<org.springframework.ws.client>>>.

* HttpUrlConnectionMessageSender and CommonsHttpMessageSender

    The <<<HttpUrlConnectionMessageSender>>> and <<<CommonsHttpMessageSender>>> have lost their <<<url>>> property. URLs
(or rather: URIs) are now defined on the <<<WebServiceTemplate>>> by specifying a default URI, or by giving the URI as a
parameter.


* EndpointInterceptor

    The <<<EndpointInterceptor>>> has a <<<handleFault>>> method now, which gets invoked
    (rather than <<<handleResponse>>>) when <<<WebServiceMessage.hasFault()>>> is true for the response.

* SoapMessageDispatcher

    * All of SoapMessageDispatcher's  strategy interfaces (<<<SoapEndpointInterceptor>>>, <<<SoapEndpointMapping>>>)
    have been moved from <<<org.springframework.ws.soap>>> to <<<org.springframework.ws.soap.server>>>.
     
Upgrading from version 1.0-M2 to 1.0-M3

	Several changes were made between version 1.0 Milestone 2 and Milestone 3 of the project. These changes increased 
modularity of the code, enhanced unit testing, made package roles clearer, and added compelling alternatives to
adapters and using web.xml security constraints to protect HTTP resources.

	Unfortunately, changes to the API and package locations were required. The following should help most users
the project update their applications:


* MessageContextFactory
	
	The MessageContextFactory has been refactored into the WebServiceMessageFactory, and doesn't create MessageContexts any more, but WebServiceMessages. This change is mostly internal, but you need to change the name of the factory:
		
	* If you used <<<AxiomSoapMessageContextFactory>>> before, replace it with <<<AxiomSoapMessageFactory>>>.
	
	* If you used <<<SaajSoapMessageContextFactory>>> before, replace with <<<SaajSoapMessageFactory>>>.
	
* MessageDispatcher

	To make a clear distinction between server-side and client-side code, we had to move the various server-side classes.

	* The <<<MessageDispatcher>>> has been moved to the <<<org.springframework.ws.server>>> package.
	
	* The <<<SoapMessageDispatcher>>> has been moved to the <<<org.springframework.ws.soap.server>>> package.
	
	* All of MessageDispatcher's  strategy interfaces (<<<EndpointAdapter>>>, <<<EndpointInterceptor>>>, <<<EndpointMapping>>>, <<<EndpointExceptionResolver>>>) have been moved from <<<org.springframework.ws>>> to <<<org.springframework.ws.server>>>.

** Endpoints

	* All endpoint implementations and adpters in <<<org.springframework.ws.endpoint>>> have been moved to <<<org.springframework.ws.server.endpoint>>>.

	* <<<TransformerObjectSupport>>> has been moved into the Spring-XML module.
	
** Endpoint interceptors

	* All <<<EndpointInterceptor>>>s in <<<org.springframework.ws.endpoint.interceptor>>> have been moved to <<<org.springframework.ws.server.endpoint.interceptor>>>.

	* All <<<EndpointInterceptor>>>s in <<<org.springframework.ws.soap.endpoint.interceptor>>> have been moved to <<<org.springframework.ws.soap.server.endpoint.interceptor>>>.
	
	* The <<<PayloadValidatingInterceptor>>> has been moved to <<<org.springframework.ws.soap.server.endpoint.interceptor>>> as well.
	
** Endpoint mappings

	* All <<<EndpointMapping>>>s in <<<org.springframework.ws.endpoint.mapping>>> have been moved to <<<org.springframework.ws.server.endpoint.mapping>>>.

	* All <<<EndpointInterceptor>>>s in <<<org.springframework.ws.soap.endpoint.mapping>>> have been moved to <<<org.springframework.ws.soap.server.endpoint.mapping>>>.

** Endpoint exception resolvers

	* All <<<EndpointExceptionResolver>>>s in <<<org.springframework.ws.soap.endpoint>>> have been moved to <<<org.springframework.ws.soap.server.endpoint>>>.
	
* TransportContext

	* <<<TransportContext>>> and <<<TransportContextHolder>>> have been moved to <<<org.springframework.ws.transport.context>>> package.
	
* MessageEndpointAdapter

    * The <<<MessageEndpointAdapter>>> has been renamed to <<<WebServiceMessageReceiverHandlerAdapter>>>, but still resides in the same package (<<<org.springframework.ws.transport.http>>>).
    
* SoapMessageContext
    
    * The <<<SoapMessageContext>>> has been removed. The <<<MessageContext>>> offers the same functionality, though it might require casting.