Commit Graph

2727 Commits

Author SHA1 Message Date
Stéphane Nicoll
0ba964d8b8 Start building against Spring Framework 6.1.19 snapshots
See gh-1521
2025-04-11 12:11:56 +02:00
Stéphane Nicoll
72d79d19db Add more flexible registration of DefaultMethodEndpointAdapter
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
2025-04-10 15:22:36 +02:00
Stéphane Nicoll
ef00c3e2db Apply cert constraints in verifyCertificateTrust as well
Closes gh-1520
2025-04-09 16:39:02 +02:00
Stéphane Nicoll
80f8d61024 Only log the exception if is it resolved
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
2025-04-08 14:33:39 +02:00
Stéphane Nicoll
d3454c5edc Improve creation of HttpClient with HttpComponents5ClientFactory
This commit improves HttpComponents5ClientFactory so that it is easier
to apply custom configuration to the HttpClient it creates.

Closes gh-1035
2025-04-08 14:12:40 +02:00
Stéphane Nicoll
f250abb0cf Simplify HttpComponents5MessageSender
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
2025-04-08 13:21:16 +02:00
Stéphane Nicoll
cf9295b887 Invoke ClientInterceptor#afterCompletion once per request
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
2025-04-08 10:52:59 +02:00
Stéphane Nicoll
0c9cb71d65 Merge branch '4.0.x'
Closes gh-1518
2025-04-07 13:28:20 +02:00
Stéphane Nicoll
5d5bd57f79 Clarify how to apply advanced endpoint configuration
Closes gh-1209
2025-04-07 13:25:58 +02:00
Stéphane Nicoll
352801d761 Fix indentation 2025-04-07 13:17:35 +02:00
Stéphane Nicoll
6dcf78d454 Merge branch '4.0.x'
Closes gh-1517
2025-04-06 12:44:22 +02:00
Stéphane Nicoll
daccb0db6d Allow SmartEndpointInterceptor to be added as regular interceptor
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
2025-04-06 12:44:02 +02:00
Stéphane Nicoll
ee0d99fbd5 Merge branch '4.0.x'
Closes gh-1516
2025-04-06 12:08:46 +02:00
Stéphane Nicoll
50ca51e41f Clarify scope of WebServiceMessageSender
Closes gh-1063
2025-04-06 12:08:11 +02:00
Stéphane Nicoll
f3ca62bfa1 Merge branch '4.0.x'
Closes gh-1515
2025-04-06 12:02:52 +02:00
Stéphane Nicoll
3d8bb53ea3 Document how to use CommonsXsdSchemaCollection with Java config
Closes gh-1050
2025-04-06 12:02:23 +02:00
Stéphane Nicoll
e5f7871ff4 Merge branch '4.0.x'
Closes gh-1514
2025-04-06 11:32:18 +02:00
Stéphane Nicoll
b78b151aba Add example of customizing the detail of a SOAP fault
Closes gh-716
2025-04-06 11:32:05 +02:00
Stéphane Nicoll
5b401a6852 Polish "Add support for configuring extra WSS4J options"
See gh-1093
2025-04-02 10:34:58 +02:00
Stéphane Nicoll
5f57898784 Add support for configuring extra WSS4J options
Closes gh-1093
2025-03-30 12:52:30 +02:00
Stéphane Nicoll
fa46f47f38 Merge branch '4.0.x'
Closes gh-1513
2025-03-27 18:49:06 +01:00
Stéphane Nicoll
611eb9b98d Use provided HttpClient consistently
This commit harmonizes the behavior of HttpComponents5MessageSender to
reuse a provided HttpClient, be it provided via constructor or property.

Closes gh-1512
2025-03-27 18:48:49 +01:00
Stéphane Nicoll
8336f3d02b Update HeadersAware*WebServiceConnection to be a WebServiceConnection
Closes gh-1510
2025-03-26 17:07:31 +01:00
Stéphane Nicoll
1cc0807d74 Use signature validator of WSSConfig if available
Closes gh-953
2025-03-25 17:04:56 +01:00
Stéphane Nicoll
c1079e7d5a Polish
See gh-1454
2025-03-25 15:39:19 +01:00
Stéphane Nicoll
32c5d7889c Merge branch '4.0.x'
Closes gh-1508
2025-03-25 15:14:29 +01:00
Stéphane Nicoll
93eb5f4aa4 Polish SoapFault Javadoc
Closes gh-1507
2025-03-25 15:13:43 +01:00
Stéphane Nicoll
893bb9ca81 Run CI on every commit for consistency with 4.0.x 2025-03-23 10:19:11 +01:00
Stéphane Nicoll
4c81b545d2 Add CI for Java 24
Closes gh-1506
2025-03-23 10:18:27 +01:00
Stéphane Nicoll
315f3f3e0b Merge branch '4.0.x' 2025-03-18 17:41:48 +01:00
Stéphane Nicoll
8c59cb728f Next development version (v4.0.13-SNAPSHOT) 2025-03-18 17:41:36 +01:00
Andy Wilkinson
88d801e2da Merge branch '4.0.x'
Closes gh-1505
2025-03-18 13:05:25 +00:00
Andy Wilkinson
bee8398ea8 Disable generation of Gradle module metadata so it is not published
Closes gh-1504
2025-03-18 13:04:42 +00:00
Andy Wilkinson
03edc30d4c Merge branch '4.0.x'
Closes gh-1503
2025-03-18 12:57:52 +00:00
Andy Wilkinson
e730e53c4f Configure description, name, and URL in published poms
Fixes gh-1502
2025-03-18 12:55:07 +00:00
Stéphane Nicoll
a02c83d7fb Upgrade to Spring Security 6.5.0-M3
Closes gh-1490
2025-03-18 08:46:36 +01:00
Stéphane Nicoll
6e6bca47bf Merge branch '4.0.x' 2025-03-18 08:45:53 +01:00
Stéphane Nicoll
99584d3f68 Use Spring Security 6.3.x by default
Closes gh-1500
2025-03-18 08:45:23 +01:00
Stéphane Nicoll
6795904f1f Add support for customizing AxiomSoapMessage#writeTo
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
2025-03-17 15:04:02 +01:00
Stéphane Nicoll
c823957e3c Merge branch '4.0.x'
Closes gh-1501
2025-03-17 09:28:35 +01:00
Stéphane Nicoll
c32f65e4e3 Add support for compatibility tests
This commit enables the compatibility test plugin to tests against
several Spring Framework and Spring Security versions.

Closes gh-1493
2025-03-17 09:26:13 +01:00
Stéphane Nicoll
2bc415baf9 Merge branch '4.0.x' 2025-03-14 16:28:53 +01:00
Stéphane Nicoll
016bb137e1 Use Spring Framework 6.1.x by default
Closes gh-1496
2025-03-14 16:28:16 +01:00
Stéphane Nicoll
9927304c12 Restore support for Apache Axiom
Closes gh-1454
2025-03-14 16:21:09 +01:00
Stéphane Nicoll
2c1abc64c3 Adapt deprecated code in Axiom 2
This commit removes the compat module and adapt the deprecated code.

See gh-1454
2025-03-14 16:20:16 +01:00
Stéphane Nicoll
60942af529 Reinstantiate support for Apache Axiom
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
2025-03-14 16:19:47 +01:00
Stéphane Nicoll
3ac5ba0fc8 Upgrade to Spring Framework 6.2.4
Closes gh-1489
2025-03-13 17:52:35 +01:00
Stéphane Nicoll
ef4e79b600 Stop relying on getLastModified
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
2025-03-11 16:03:21 +01:00
Stéphane Nicoll
5e0897c61d Add Automatic-Module-Name to manifest file
This commit updates the build to add an `Automatic-Module-Name` entry
to the manifest of each published jar. The names follow a convention
where the hyphen is replaced by a dot:

* `spring-xml`: `spring.xml`
* `spring-ws-core`: `spring.ws.core`
* `spring-ws-security`: `spring.ws.security`
* `spring-ws-support`: `spring.ws.support`
* `spring-ws-test`: `spring.ws.test`

Closes gh-1208
2025-03-11 15:07:40 +01:00
Stéphane Nicoll
122def7e21 Fix split package between spring-ws-support and spring-ws-core
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
2025-03-11 14:52:22 +01:00