This commit updates WsConfigurer to get a callback with the list of
default method argument resolvers and return value handlers. Previously,
the callback only allowed to add custom instances and these were added
after the defaults.
Closes gh-1080
This commit improves AbstractEndpointExceptionResolver to only invoke
the logException method for an exception that has been resolved. To
help with chaining them, a CompositeEndpointExceptionResolver has been
introduced. If no resolvers were able to resolve the exception, the
last instance will then log the exception.
Closes gh-736
Previously, HttpComponents5MessageSender can be configured to use both
a custom HttpClient or configure one using a number of convenient
properties. This setup creates an odd arrangement where calling those
convenient methods once an HttpClient is set throws an exception as
the implementation supports one or the other.
This commit moves the first use case in a simple implementation that
only accepts a custom HttpClient or the state of
HttpComponents5ClientFactory for convenience and discoverability.
Specifying an HttpComponents5MessageSender is deprecated as a result.
Closes gh-1519
This commit reviews how afterCompletion is invoked. First of all, any
exception thrown by an interceptor does not bubble up the stack to give
a chance for other interceptors to clean things up.
Then, rather than calling afterCompletion before handling a fault, an
error, or the response body, it is invoked after. This gives a chance
to any exception to break the flow and handle the completion in the
catch block.
Tests have been added to ensure that the callback is only invoked once.
Closes gh-1054
Previously, only SmartEndpointInterceptor instances declared as bean
were considered by AbstractEndpointMapping. Given that it extends from
EndpointInterceptor, this meant that adding them using the regular
setEndpointInterceptor mean they were not considered as such, that is
added irrespective of their `shouldIntercept` contract.
This commit considers both list as holding SmartEndpointInterceptor
instances. As a result, these can now be added using regular hook
points, such as WsConfigurer.
Closes gh-1130
This commit harmonizes the behavior of HttpComponents5MessageSender to
reuse a provided HttpClient, be it provided via constructor or property.
Closes gh-1512
This commit introduces a protected method that allows to customize
the way an AxiomSoapMessage is written. The content type to use is
separated, and a method that takes the current OMOutputFormat has been
added.
Closes gh-540
This commit restores support for Apache Axiom now that it supports
Jakarta. This commit tries to restore the code that was deleted as-is,
without reviewing the deprecations.
See gh-1454
This commit delegates the check of validating that a request needs to
be processed to the handler themselves. As a result,
MessageDispatcherServlet is no longer implementing getLastModified.
An advantage of this change is that the server now handles
"If-Not-Modified" request headers.
Closes gh-1470
This commit moves the classes from the o.s.ws.transport.http and
o.s.ws.transport.support packages from spring-ws-support to
spring-ws-core. It turns out these classes don't bring extra
dependencies, which make the move quite straightforward.
Closes gh-1202
Prior to this commit, `HttpComponents5Connection` would use deprecated
methods from `HttpClient`. This commit updates the deprecated `execute`
in favor of `executeOpen`, while checking that the response resource is
properly closed when the call is done.
See gh-1469
Signed-off-by: Brian Clozel <brian.clozel@broadcom.com>
This commit updates HttpComponents5MessageSender to apply the
configured connection timeout. Previously, it was wrongly set as the
connection request timeout.
Closes gh-1436
This commit removes method that were deprecated quite some time ago
as part of the 2.0 line:
- `FaultAwareWebServiceConnection#setFault(boolean)`
- Commons HttpClient v3
- EhCache v2
Closes gh-1321
This deprecates the programming model of extending from base endpoint
class in favor of the `@Endpoint` programming model introduced in
Spring-WS 2.0.
This also removes any reference <sws:marshalling-endpoints/> and
<sws:xpath-endpoints/> that are no longer part of the XSD since 2.0
as well.
Closes gh-1487
This commit deprecates methods that are unused in DomPoxMessage. They
refer to the FaultAwareWebServiceMessage interface, but that class does
not implement it.
Closes gh-622