Spring Web Services Changelog
Arjen Poutsma
Pulled handleFault() from SoapEndpointInterceptor up to
EndpointInterceptor
Remove IOExceptions from WebServiceTemplate. A runtime
exception hierarchy has been created in org.springframework.ws.client.
Support JAXB's MTOM/XOP/MIME support. As a result, all
Mime-related code in SoapMessage has been moved to the org.springframework.ws.mime package
Client is not able to read long response
Add methods to access attributes on SoapElement
Added XPath template, for evaluating XPaths in a template-like fashion
MTOM support
Added XPathExpressionFactoryBean, for injection of XPath expressions
Default message factory for WebServiceTemplate
Add faults into dynamically created WSDL
Added MethodEndpoint functionality, invoking methods for
incoming requests
GZip compression is not enabled
WebServiceConnection is now container for TransportInputStream and
TransportOutputStream, used on both client- and server-side
Added supports method to Marshaller and Unmarshaller
Allow CastorMarshaller to accept more than one mapping file
Set WhitespacePreserve flag in CastorMarshaller
OXM Marshal encoding definition
Cannot set DateConverter in
XStreamMarshaller.setConverters(Converter[])
Replaced method which returned a Source from WebServiceTemplate with
SourceExtractor methods, because the Source could be closed before returned
Added XPathPayloadEndpointMapping (#SWS-85)
AbstractSoapMessage.getPayloadSource returns null with Axis
SAAJ
DefaultTimestapValidator now handles timestamps with
milliseconds correctly
Stream closed before response read with WebServiceTemplate +
Axis SAAJ Soap Messages
Fixed issue with reading response HTTP headers
XsdBasedSoap11Wsdl4jDefinitionBuilder parsing error
Prefixed abstract classes with Abstract
new location for log4j.properties
AbstractMarshallerTestCase.testMarshalDOMResult() builds a
DOM object that does not retain namespace
CastorMarshaller uses a XMLClassDescriptorResolver instead
of a Mapping
CastorMarshaller marshals to DOM trees correctly
Added indent property to pretty print JiBX output (#SWS-72)
Moved MessageDispatcher, EndpointAdapter, EndpointExceptionResolver,
EndpointInterceptor, EndpointMapping, and EndpointInvocationChain to org.springframework.ws.server
package
Added client-side support based on WebServiceTemplate
Refactored MessageContextFactory, SoapMessageContextFactory and
implementations into WebServiceMessageFactory
Moved TransformerObjectSupport to org.springframework.xml.transform
Moved all endpoint subclasses to org.springframework.ws.server.endpoint
Moved PayloadValidatingInterceptor to
org.springframework.soap.server.endpoint.interceptor, because it contains SOAP-specific features
Added setId() method to Attachment, to set the Content-ID of
MIME attachments
Added getResult() to SoapFaultDetail
Refactored SAAJ from two separate hierarchies (SAAJ 1.2 and SAAJ 1.3) into
one, using bridge pattern. Added SAAJ 1.1 support.
Moved all endpoint subclasses to
org.springframework.ws.soap.server.endpoint
DefaultTimestampValidator no longer requires Expired in
request
Digest passwords are handled correctly in the
SimplePasswordValidationCallbackHandler
Moved TransportContext and TransportContextHolder to
org.springframework.ws.transport.context package
Added MessageDispatcherServlet
Renamed MessageEndpointHandlerAdapter to
WebServiceReceiverHandlerAdapter
Added Wsdl11DefinitionBuilder
Added XsdBasedSoap11Wsdl4jDefinitionBuilder that generates a
WSDL based on a schema
Fixed #SWS-61: DomContentHandler throwing NullpointerExption
on document
Fixed #SWS-75: Java 1.5+ Constructor Used for
IllegalStateException
Added JAX-WS client for Airline sample
added Spring-WS client for Echo sample
All marshallers support StaxSources now
Added support for registering custom Converters
Changed contract of MessageContext.getResponse(): now creates a response
if none has been created. Required because creating SOAP fault when a response was already set threw an
exception.
Enabling support for direct writing to the TransportResponse
MessageContext contains TransportRequest, for transport-based routing
Improved endpoint test suite
AbstractStaxPayloadEndpoint now use StaxSource corrently
Renamed AbstractDom4JPayloadEndpoint to AbstractDom4jPayloadEndpoint
(lower case j), to follow Spring naming conventions (e.g. Log4jConfigurer)
Added getters on AbstractMarshallingPayloadEndpoint
Moved interceptors to seperate package
Made PayloadValidatingInterceptor more customizable
Added schemas property to PayloadValidatingInterceptor
Refactoring most of PayloadValidatingInterceptor into
AbstractValidatingInterceptor
Moved EndpointMappings to seperate package
Removed SOAP-specific roles functionality
Added Plain Old XML support
Improved content-type handling
Moved SOAP 1.1 specfics to separate package and interfaces
SoapAction has been removed from SoapMessage, SoapActionEndpointMapping
uses TransportRequest header
Added support for SAAJ 1.3
Added "payloadCaching" property to read the contents of SOAP bodies
produced by the AxiomSoapMessageContextFactory in a non-buffering, read-once fashion.
Increased performance by keeping object references instead of creating new
instances for every call
Added SoapEnvelopeLoggingInterceptor, which logs the entire SoapEnvelope
Moved SOAP-specific EndpointMappings to seperate package
Added Role/Actor functionality to DelegatingSoapEndpointMapping
Add support for SAAJ 1.3
Increased performance by keeping object references instead of creating new
instances for every call
Added SaajUtils.getVersion()
Moved SOAP 1.1 specifics to separate package and interfaces
Added TransportContext, TransportRequest & TransportResponse
Removed J2EE 1.4 dependency
renamed MessageHandlerAdapter to MessageEndpointHandlerAdapter
Moved package to seperate jar file, since oxm now also depends on it
Moved QNameEditor from spring-ws-core
Removed prefix dependency from QName
Improved validation schema loading
Added Ben Ethridge's Echo sample client
Added support for JAXB 2: refactored JaxbMarshaller into
AbstractJaxbMarshaller, Jaxb1Marshaller and Jaxb2Marshaller
Made JaxbMarshallers thread safe
Added property for a ValidationEventHandler in Jaxb2Marshaller
Added AXIOM (AXis Object Model) implementation of SoapMessage hierarchy
Added AbstractDom4JPayloadEndpoint
Added AbstractXomPayloadEndpoint
Renamed AbstractTransformingEndpoint to TransformerObjectSupport
Added SoapFaultDetail and SoapFaultDetailElement
Improved SoapMessage test suite
Fixed serious bug which resulted in not-understood mustUnderstand headers
being silently ignored
Added SimpleSoapExceptionResolver
Added WS-Security implementation based on XWS-Security with integration for
Acegi and JAAS
Added StaxSource and StaxResult, which allow for StAX readers/writers to be
used as javax.xml.transform.Source and javax.xml.transform.Result
Added XPath abstraction with support for JAXP 1.3, Jaxen, and Xalan
Added Ingo Siebert's Echo sample
Added WS-Security support to Airline sample
Added SAAJ clients to Airline sample
Made overall thread safety fixes
Added initial reference documentation
AbstractMarshallers does proper SAXSource handling
Exposing JAXB properties on JaxbMarshaller
Added XmlOptionsFactoryBean for use with XmlBeansMarshaller
moved JaxbContextFactoryBean functionality into JaxbMarshaller
moved JibxBindingFactoryBean functionality into JibxMarshaller
made AbstractSoapEndpointMapping ignorant of SOAP version
Added initial attachment support
Added JaxpVersion for easy detection of JAXP version
removed JAXP1.3 dependency
First public preview release