diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/build.gradle b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/build.gradle
index 5cb1a660ffd..ba1be823976 100644
--- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/build.gradle
+++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/build.gradle
@@ -10,9 +10,7 @@ dependencies {
runtimeOnly("jaxen:jaxen")
runtimeOnly("wsdl4j:wsdl4j")
- runtimeOnly("jakarta.activation:jakarta.activation-api")
- runtimeOnly("org.glassfish.jaxb:jaxb-runtime")
-
+
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
testImplementation("org.springframework.ws:spring-ws-test")
}
diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/WebServiceConfig.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/WebServiceConfig.java
index bc8c10a625f..6afec44695a 100644
--- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/WebServiceConfig.java
+++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/WebServiceConfig.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2019 the original author or authors.
+ * Copyright 2012-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,22 +16,22 @@
package smoketest.webservices;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.ws.config.annotation.WsConfigurerAdapter;
import org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition;
import org.springframework.xml.xsd.XsdSchema;
@Configuration(proxyBeanMethods = false)
-public class WebServiceConfig extends WsConfigurerAdapter {
+class WebServiceConfig {
@Bean(name = "holiday")
- public DefaultWsdl11Definition defaultWsdl11Definition(XsdSchema countriesSchema) {
+ DefaultWsdl11Definition defaultWsdl11Definition(@Qualifier("hr") XsdSchema hrSchema) {
DefaultWsdl11Definition wsdl = new DefaultWsdl11Definition();
wsdl.setPortTypeName("HumanResource");
wsdl.setLocationUri("/holidayService/");
wsdl.setTargetNamespace("https://company.example.com/hr/definitions");
- wsdl.setSchema(countriesSchema);
+ wsdl.setSchema(hrSchema);
return wsdl;
}
diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/endpoint/HolidayEndpoint.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/endpoint/HolidayEndpoint.java
index b7454aa84e8..d6bbb7d1519 100644
--- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/endpoint/HolidayEndpoint.java
+++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/endpoint/HolidayEndpoint.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2022 the original author or authors.
+ * Copyright 2012-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,8 +16,7 @@
package smoketest.webservices.endpoint;
-import java.text.SimpleDateFormat;
-import java.util.Date;
+import java.time.LocalDate;
import org.jdom2.Element;
import org.jdom2.Namespace;
@@ -54,10 +53,9 @@ public class HolidayEndpoint {
}
@PayloadRoot(namespace = NAMESPACE_URI, localPart = "HolidayRequest")
- public void handleHolidayRequest(@RequestPayload Element holidayRequest) throws Exception {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- Date startDate = dateFormat.parse(this.startDateExpression.evaluateFirst(holidayRequest).getText());
- Date endDate = dateFormat.parse(this.endDateExpression.evaluateFirst(holidayRequest).getText());
+ public void handleHolidayRequest(@RequestPayload Element holidayRequest) {
+ LocalDate startDate = LocalDate.parse(this.startDateExpression.evaluateFirst(holidayRequest).getText());
+ LocalDate endDate = LocalDate.parse(this.endDateExpression.evaluateFirst(holidayRequest).getText());
String name = this.nameExpression.evaluateFirst(holidayRequest);
this.humanResourceService.bookHoliday(startDate, endDate, name);
}
diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/service/HumanResourceService.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/service/HumanResourceService.java
index fb529c26d28..8b5dc756ab5 100644
--- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/service/HumanResourceService.java
+++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/service/HumanResourceService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2019 the original author or authors.
+ * Copyright 2012-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,10 +16,10 @@
package smoketest.webservices.service;
-import java.util.Date;
+import java.time.LocalDate;
public interface HumanResourceService {
- void bookHoliday(Date startDate, Date endDate, String name);
+ void bookHoliday(LocalDate startDate, LocalDate endDate, String name);
}
diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/service/StubHumanResourceService.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/service/StubHumanResourceService.java
index ee8cc8e3be8..cb3158314fb 100644
--- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/service/StubHumanResourceService.java
+++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/main/java/smoketest/webservices/service/StubHumanResourceService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2019 the original author or authors.
+ * Copyright 2012-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,7 +16,7 @@
package smoketest.webservices.service;
-import java.util.Date;
+import java.time.LocalDate;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -24,13 +24,13 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Service;
@Service
-public class StubHumanResourceService implements HumanResourceService {
+class StubHumanResourceService implements HumanResourceService {
- private final Log logger = LogFactory.getLog(StubHumanResourceService.class);
+ private static final Log logger = LogFactory.getLog(StubHumanResourceService.class);
@Override
- public void bookHoliday(Date startDate, Date endDate, String name) {
- this.logger.info("Booking holiday for [" + startDate + " - " + endDate + "] for [" + name + "]");
+ public void bookHoliday(LocalDate startDate, LocalDate endDate, String name) {
+ logger.info("Booking holiday for [" + startDate + " - " + endDate + "] for [" + name + "]");
}
}
diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/test/java/smoketest/webservices/SampleWsApplicationTests.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/test/java/smoketest/webservices/SampleWsApplicationTests.java
index f653974b6f7..a3962d1558e 100644
--- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/test/java/smoketest/webservices/SampleWsApplicationTests.java
+++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/test/java/smoketest/webservices/SampleWsApplicationTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2022 the original author or authors.
+ * Copyright 2012-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -50,11 +50,18 @@ class SampleWsApplicationTests {
@Test
void testSendingHolidayRequest(CapturedOutput output) {
- final String request = ""
- + " 2013-10-20"
- + " 2013-11-22 "
- + " 1 John"
- + " Doe ";
+ String request = """
+
+
+ 2013-10-20
+ 2013-11-22
+
+
+ 1
+ John
+ Doe
+
+ """;
StreamSource source = new StreamSource(new StringReader(request));
StreamResult result = new StreamResult(System.out);
this.webServiceTemplate.sendSourceAndReceiveToResult(source, result);
diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/test/java/smoketest/webservices/WebServiceServerTestSampleWsApplicationTests.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/test/java/smoketest/webservices/WebServiceServerTestSampleWsApplicationTests.java
index db18ce0c4e2..34a47d28e0d 100644
--- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/test/java/smoketest/webservices/WebServiceServerTestSampleWsApplicationTests.java
+++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-webservices/src/test/java/smoketest/webservices/WebServiceServerTestSampleWsApplicationTests.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2024 the original author or authors.
+ * Copyright 2012-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,20 +17,15 @@
package smoketest.webservices;
import java.io.StringReader;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
+import java.time.LocalDate;
import javax.xml.transform.stream.StreamSource;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
import smoketest.webservices.service.HumanResourceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.webservices.server.WebServiceServerTest;
-import org.springframework.boot.test.system.CapturedOutput;
-import org.springframework.boot.test.system.OutputCaptureExtension;
import org.springframework.test.context.bean.override.mockito.MockitoBean;
import org.springframework.ws.test.server.MockWebServiceClient;
import org.springframework.ws.test.server.RequestCreators;
@@ -43,9 +38,9 @@ import static org.mockito.BDDMockito.then;
* {@link MockWebServiceClient}.
*
* @author Andy Wilkinson
+ * @author Stephane Nicoll
*/
@WebServiceServerTest
-@ExtendWith(OutputCaptureExtension.class)
class WebServiceServerTestSampleWsApplicationTests {
@MockitoBean
@@ -55,17 +50,22 @@ class WebServiceServerTestSampleWsApplicationTests {
private MockWebServiceClient client;
@Test
- void testSendingHolidayRequest(CapturedOutput output) throws ParseException {
- String request = ""
- + " 2013-10-20"
- + " 2013-11-22 "
- + " 1 John"
- + " Doe ";
+ void testSendingHolidayRequest() {
+ String request = """
+
+
+ 2013-10-20
+ 2013-11-22
+
+
+ 1
+ John
+ Doe
+
+ """;
StreamSource source = new StreamSource(new StringReader(request));
this.client.sendRequest(RequestCreators.withPayload(source)).andExpect(ResponseMatchers.noFault());
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
- then(this.service).should()
- .bookHoliday(dateFormat.parse("2013-10-20"), dateFormat.parse("2013-11-22"), "John Doe");
+ then(this.service).should().bookHoliday(LocalDate.of(2013, 10, 20), LocalDate.of(2013, 11, 22), "John Doe");
}
}